我只是在阅读听起来很棒的多级管道。
据我了解,这些阶段相互依存,现在假设我有以下阶段
stages:
stage: Deploy to acc
...
stage: Deploy to prd
我不想在部署到acc
. 首先我想看看,acc
当我批准它应该部署到prd
. 多阶段管道中有没有办法告诉不要自动运行阶段?例如手动运行一个阶段?或者我应该为生产创建一个新的管道?
我只是在阅读听起来很棒的多级管道。
据我了解,这些阶段相互依存,现在假设我有以下阶段
stages:
stage: Deploy to acc
...
stage: Deploy to prd
我不想在部署到acc
. 首先我想看看,acc
当我批准它应该部署到prd
. 多阶段管道中有没有办法告诉不要自动运行阶段?例如手动运行一个阶段?或者我应该为生产创建一个新的管道?
为了防止阶段自动运行,您可以为每个阶段添加条件。在这里查看更多信息
stages:
- stage: A
#stage B runs if A fails
- stage: B
condition: failed()
#stage C runs if B succeeds
- stage: C
dependsOn:
- A
- B
condition: succeeded('B')
如果你想手动运行一个阶段。您可以checks
为您的environments
. 按照以下步骤创建您的舞台目标所在的环境。
导航到管道页面。然后选择环境并单击创建环境。有关更多信息,请查看此处
然后按照此处的说明为每个环境创建检查。这样,在您的管道阶段开始部署到已checks
定义的环境之前。它将等待批准。
建议使用发布管道部署您的应用程序。您可以在项目的发布页面中创建发布管道。创建批准和门以手动干预您的部署任务在发布管道中非常简单。在这里查看详细步骤
如果您想手动运行舞台,我相信有更好的方法。我在这里发布了一个类似问题的答案:
每个阶段结束时的 FYI 手动验证任务也不可用,这将完成此操作:
- 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: 'resume'