Этапы, запускаемые вручную в конвейерах YAML Azure Devops
Я хотел бы воссоздать конвейер, который выглядит примерно так в YAML.
Я успешно воссоздал трубопровод первой линии (А). СочетаниеdependsOn
, environmentName
, и одобрение среды обрабатывает это. Однако, похоже, нет способа создать конвейеры B и C в YAML.
Я видел несколько похожих вопросов, но большинство из них были не совсем тем, что я искал, или были очень старыми, и у них не было решения. Я подозреваю, что сейчас это невозможно, но хотел спросить, чтобы убедиться.
3 ответа
Поставьте одобрение перед первым окружением. Он не сработает, пока не будет одобрен. Это настолько близко, насколько вы собираетесь получить прямо сейчас.
Вы можете управлять им по параметрам, например:
parameters:
- name: stageTest
displayName: Run Stage test
type: boolean
default: false
trigger:
- none
variables: # pipeline-level
system.debug: true
stages:
- stage: Build
jobs:
- job: Build
steps:
- script: echo "hello to my first Build"
- stage: Test
dependsOn:
- Build
jobs:
- job: Test
steps:
- script: echo "test"
- ${{ if eq(parameters.stageTest, true) }}:
- stage: B1
dependsOn: []
jobs:
- job: B1
steps:
- script: echo "B1"
- stage: B2
dependsOn:
- B1
jobs:
- job: B2
steps:
- script: echo "B2"
Параметр - stageTest, и вы можете установить значение (отметьте или снимите отметку), когда конвейер очереди.
С другой стороны, вы также можете пропустить этап при запуске конвейера: пропуск этапов в конвейере YAML
Боюсь, что в настоящее время невозможно реализовать запускаемый вручную этап, такой как пользовательский интерфейс конвейера выпуска, в конвейере YAML.
В настоящее время функция указания этапа для запуска предоставляется в yaml, но это применимо только к запускаемым вручную конвейерам и не может развернуть этап вручную в любое время, как в pipleine выпуска.
Согласно вашей блок-схеме, вы хотите, чтобы ваш конвейер начинался с CI и чтобы независимость ручных этапов не влияла на работу конвейера. Разделение этапов на несколько конвейеров yaml не должно быть вашим желанием, поэтому вы можете следить за голосом пользователя и голосовать за этот билет, чтобы с нетерпением ждать выпуска новых функций.