Azure DevOps Service Connection не работает с пользовательским заданием - PullRequest
0 голосов
/ 25 февраля 2020

В Azure Devops Я могу создать сервисное соединение ACR и использовать задачу Docker@2 для входа в систему, создания и создания sh образа - как часть первой работы моего конвейера.

Во второй работе моего конвейера я хочу использовать изображение, которое я построил в первой работе, и запустить некоторые вещи внутри него. Однако даже при том, что я предоставляю имя соединения со службой (такое же, как в первом задании), мой конвейер продолжает давать сбой с 'docker login': denied: requested access to the resource is denied.

Как я могу заставить эту работу работать с Service Connection, который отлично подходит для 1-го задания?

- job: BuildDockerImage
  pool:
    vmImage: 'ubuntu-16.04'
  steps:
  - task: Docker@2
    displayName: Build /push image
    inputs:
      command: buildAndPush
      repository: XYZ
      dockerfile: Dockerfile
      containerRegistry: ABC
      tags: |
        $(Build.SourceVersion)

- job: TestCode
  dependsOn: BuildDockerImage
  condition: succeeded()
  timeoutInMinutes: 200
  pool:
    vmImage: 'ubuntu-16.04'
  container:
    image: ABC/XYZ:$(Build.SourceVersion)

1 Ответ

0 голосов
/ 27 февраля 2020

В данном случае это может быть отсутствие параметра endpoint.

Контейнеры могут размещаться в реестрах, отличных от Docker Hub. Чтобы разместить образ в Azure Реестре контейнеров или другом реестре частных контейнеров, добавьте подключение службы в частный реестр. Затем вы можете ссылаться на него в контейнере spe c:

container:
  image: myprivate/registry:xxx
  endpoint: private_dockerhub_connection

Вот документ , на который вы можете ссылаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...