Запустите Specifi c Этапы по расписанию через YML - PullRequest
0 голосов
/ 15 апреля 2020

In Azure Devops YML Многоступенчатый конвейер:

Можно ли запустить определенный этап c в расписании без ручного ввода в конвейер для указания этапа?

Спасибо заранее

1 Ответ

0 голосов
/ 15 апреля 2020

Что вы можете сделать, это использовать условие на этапах сборки yaml. Вы можете использовать переменную «Build.Reason» (см. https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml), чтобы определить, следует ли запускать этап:

stages:
- stage: Stage1
  condition: and(succeeded(), eq(variables['Build.Reason'], 'Schedule'))
  jobs:
  - some jobs
- stage: Stage2
  condition: and(succeeded(), ne(variables['Build.Reason'], 'Schedule'))
  jobs:
  - some jobs

Приведенный выше пример запускает только stage1 при сборке был запущен из расписания, и только stage2, если сборка не была запущена из расписания. Конечно, вы можете настроить условия в соответствии с вашими потребностями.

Другой вариант - переместить этапы в шаблоны, а затем создать 2 отдельных конвейера yaml, используя файлы шаблонов, содержащие правильные этапы. Таким образом, вам нужно только один раз определить содержимое этапа, но вы можете повторно использовать его в нескольких конвейерах. См https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops

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