Я следую этому процессу, чтобы создать конвейер сборки YAML для проекта .NET Core Web API:
https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts
Что касается его выпуска, я отмечаю, что (недавно переименованный) Azure DevOps, похоже, не поддерживает YAML для определения конвейеров выпуска. Однако я вижу, что задачи развертывания были определены, например:
Ожидаем ли мы обновления функциональности конвейеров выпуска для поддержки YAML, и если да, то когда?
Ответы:
На момент написания этого ответа временная шкала функций отражает релизы yaml в третьем квартале 2018 года.
https://docs.microsoft.com/en-us/azure/devops/release-notes/
Обновление: это было несколько раз. Рекомендуется проверять комментарии ниже, поскольку люди предоставляют обновления по мере их обнаружения.
Обновить
Согласно комментариям, теперь это возможно: https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/ . Следующее скопировано и вставлено из статьи и демонстрирует использование различных этапов:
stages: - stage: Build jobs: - job: Build pool: vmImage: 'Ubuntu-16.04' continueOnError: true steps: - script: echo my first build job - stage: Deploy jobs: # track deployments on the environment - deployment: DeployWeb pool: vmImage: 'Ubuntu-16.04' # creates an environment if it doesn’t exist environment: 'smarthotel-dev' strategy: # default deployment strategy runOnce: deploy: steps: - script: echo my first deployment
источник
Опыт создания конвейера сборки YAML находится в предварительной версии. (сегодня 04.12.2018)
YAML для конвейеров выпуска, похоже, еще далеко : второй квартал 2019 г.
Функции предварительного просмотра можно включить из вашего профиля следующим образом:
EDIT: как указывает nullforce в комментариях, это позволяет использовать YAML только для конвейеров сборки, но не для конвейеров выпуска.
ОБНОВЛЕНИЕ (2019-05-16): после Microsoft «Build 2019» полный опыт YAML для сборки и развертывания теперь должен быть возможен в том же файле конвейеров YAML.
источник
Команда продукта работает над этим. Вы можете отслеживать обновление через примечания к выпуску .
источник
Я как раз сейчас делаю что-то подобное, но использую текущие REST API. То, что я делаю, похоже на то, что я описал здесь ( как импортировать определение выпуска в VSTS? ). В основном я сохраняю шаблонный файл JSON Release Pipeline в репозиторий исходного кода с переменными заполнителями и встроенным номером версии. Затем создайте сценарий PowerShell, который вызывает Azure DevOps (это длинное слово, я предпочел набирать VSTS, возможно, я начну печатать AD)
Я хочу, чтобы это выполнялось во время конвейера сборки, чтобы мне больше не приходилось вручную изменять множество похожих конвейеров выпуска. Я бы предпочел, чтобы это был также файл YAML, но это то, что у меня есть сегодня. Надеюсь, это поможет.
источник
id
свойство -id
для объекта def выпуска и для всехenvironment
объектов можно игнорировать - установкиrank
свойства должно быть достаточно (вместе с другими обязательными) - вызов POST должен автоматически создавать идентификаторы и возвращаются в объекте ответа. После определения релиза создано, чтобы получить все определения в вашем орге вы можете сделатьLIST
на определениях выпуска - GET вызов документированы здесьКонвейеры состоят из одного или нескольких заданий и могут включать ресурсы и переменные. Задания состоят из одного или нескольких шагов плюс некоторые данные, относящиеся к заданию. Шаги могут быть задачами, сценариями или ссылками на внешние шаблоны. Это отражено в структуре файла YAML. Пожалуйста, посетите здесь для получения подробной информации
источник