Как сделать sh несколько изображений на Docker хабе из одного Azure конвейера - PullRequest
0 голосов
/ 23 января 2020

В моем проекте у меня есть 3 файла Docker, один для основного проекта, один для моей базы данных и один для nginx сервера. Все они находятся в разных папках в моей структуре проекта.

Я пытаюсь заставить мой конвейер Azure построить каждое из соответствующих изображений отдельно, а pu sh 3 отдельных изображения - в Docker концентратор, по одному для каждого файла Docker. Однако, мой артефакт из конвейера сборки содержит только 1 Dockerfile, как вы можете видеть на изображении ниже. Из журналов видно, что это Dockerfile из папки моей базы данных, которая также является первой папкой в ​​структуре моего проекта. Есть ли способ заставить конвейер построить и собрать sh 3 изображения, по одному на каждый Dockerfile?

enter image description here

1 Ответ

0 голосов
/ 23 января 2020

Проблема в определении вашей сборки, когда вы, вероятно, не копируете все необходимые файлы в папку, из которой вы публикуете артефакт сборки.

Так что, если ваша цель - сначала создать сборку Артефакт с тремя отдельными docker файлами, вам нужно скопировать необходимые файлы в промежуточную директорию артефакта, а затем опубликовать sh. Например:

- task: CopyFiles@2
  inputs:
    sourceFolder: 'SomeContainer\'
    contents: '**'
    targetFolder: '$(Build.ArtifactStagingDirectory)\SomeContainer' 

- task: PublishBuildArtifacts@1
  inputs:
    pathtoPublish: '$(Build.ArtifactStagingDirectory)' 
    artifactName: MyContainersBuildArtifact 

При необходимости добавьте шаги копирования и создайте нужную структуру папок в ArtifactStagingDirectory.

Задача копирования файлов также имеет несколько примеров: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/copy-files?view=azure-devops&tabs=yaml#usage

Вы также можете создавать и создавать sh изображения как часть сборки или создавать артефакт в определении релиза, чтобы он указывал прямо на репозиторий управления исходным кодом.

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