Прежде всего, если вы не видите какой-либо конкретной c причины (например, функции, доступной в конвейере на основе YAML), не делайте этого. Это не 1 к 1, и в выпуске classi c есть некоторые функции, которые недоступны в YAML. Есть шанс, что разрыв будет устранен в будущем, но это еще не сделано.
Если вы хотите использовать конвейер yaml для сборки и сохранить подход classi c для выпусков, это вполне выполнимо. Вы потребляете артефакт так же, как и артефакт, опубликованный в сборке classi c. И если вы решите внести это изменение, это действительно просто, поскольку вы можете предварительно просмотреть YAML для шагов в конвейере classi c.
But if you want to multi-stage approach and integrate you release as deployments there you should be familiar with two key things:
С шаблонами YAML вы поместите все свои 5 задач со стадии выпуска в один блок, который позже вы будете использовать как отдельный этап развертывания. Вы зададите параметры вместо жестко заданных значений, поэтому на уровне почты вы определите, где именно вы развертываете артефакт.
И с помощью условия вы будете контролировать, какой этап будет запущен. В качестве простого примера вы можете проверить этот YAML из документации (у вас есть ссылка выше):
variables:
isMain: $[eq(variables['Build.SourceBranch'], 'refs/heads/master')]
stages:
- stage: A
jobs:
- job: A1
steps:
- script: echo Hello Stage A!
- stage: B
condition: and(succeeded(), eq(variables.isMain, true))
jobs:
- job: B1
steps:
- script: echo Hello Stage B!
- script: echo $(isMain)
Но имейте в виду, что с YAML вы не можете запускать только задание c. Это означает, что вы не можете запустить, например, развертывание в DEV
env. Если вы хотите сделать это, вам нужно запустить весь конвейер (он может измениться в будущем, поскольку Azure команда DevOps работает над этим, если я припоминаю).