我有一个阶段,该阶段使用6个部署作业,这些作业可以根据特定条件部署到开发,阶段或生产中。
要部署到生产环境,我想添加手动批准。我知道部署作业可以指定可以在其中添加手动批准的环境,但是我想批准整个阶段,而不是批准每个单独的部署作业。这样,我可以批准一次该阶段,并且可以一次运行所有6个部署作业,而不必批准6次。
这可能吗?该文档说it should be,但没有说如何。此外,在YAML schema for stages中,您似乎无法在阶段内部指定环境。
答案 0 :(得分:1)
当前,尚无此类内置功能可批准YAML的整个阶段。我们只能针对这些环境Define approvals and checks。还提到了您提到的文档,该文档通常用于控制对生产环境的部署。
但是,已经有suggestion ticket可以请求该功能。您可以投票并添加建议票的评论,以在将来的版本中实现。
答案 1 :(得分:1)
看起来 ManualValidation 任务可以帮助您。使用 dependsOn 将允许所有其他作业在最终批准之前完成。
示例:
jobs:
- job: waitForValidation
dependsOn: 'previousJobName'
displayName: Wait for external validation
pool: server
timeoutInMinutes: 4320 # job times out in 3 days
steps:
- task: ManualValidation@0
timeoutInMinutes: 1440 # task times out in 1 day
inputs:
notifyUsers: |
test@test.com
example@example.com
instructions: 'Please validate the build configuration and resume'
onTimeout: 'reject'