Рекомендации по маркировке в Azure DeVops для образов докеров, развернутых в Kubernetes - PullRequest
0 голосов
/ 17 октября 2018

Есть ли у кого-нибудь опыт создания и отправки образов докеров + их развертывания в AKS с помощью DevOps Azure?

Когда я собираю и проталкиваю образ, я могу использовать переменную $(Build.Repository.Name):$(Build.BuildId).

Нотогда у меня есть мои .yaml файлы, которые у меня есть в конвейере выпуска для развертывания образов.Я не могу (или не знаю, как) ссылаться на эту переменную $(Build.Repository.Name):$(Build.BuildId).

У кого-нибудь есть опыт в автоматизации этого?

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Как мне это работает, используя «токеризацию файла yaml».

Во время сборки (сборка и передача изображения в частное хранилище я использую переменную по умолчанию в Azure Devops, $ (Build.BuidId), в качестве тега для образа докера.

Задача построения образа Build image

Задача отправки изображения

Push image

В образе развертывания для образа, к которому я обращаюсь:

Deployment yaml

Затем для развертыванияперед применением файлов yaml с задачей kubectl apply я использую задачу «Заменить токены». Вы можете указать, в каких файлах заменять токены. Так как я использовал токен только для образа, я выбрал только файл развертывания yaml.

artifact source name replace token task

Что он делает, он заменяет # {Release.Artifacts.acpyaml.BuildId} # на фактический номер сборкипоследняя сборка, поэтому, когда он начинает вытягивать изображение, у него есть правильный тег.

См. полный пример, описанный в Tokenised verСион Ямля

0 голосов
/ 17 октября 2018

Если у вас в конвейере выпуска только 1 артефакт, поэтому вы можете использовать переменные также в выпуске таким же образом ($(Build.Repository.Name):$(Build.BuildId)).

Если у вас более 1 артефакта, переменные будут ссылаться наваши основные артефакты:

enter image description here

Если вы хотите использовать переменные для других артефактов (не основных), вы можете использовать этот способ:

Release.Artifacts.{alias}.BuildId

{alias} - псевдоним артефактов:

enter image description here

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