1

我只是在阅读听起来很棒的多级管道。

据我了解,这些阶段相互依存,现在假设我有以下阶段

stages:
   stage: Deploy to acc
      ...
   stage: Deploy to prd

我不想在部署到acc. 首先我想看看,acc当我批准它应该部署到prd. 多阶段管道中有没有办法告诉不要自动运行阶段?例如手动运行一个阶段?或者我应该为生产创建一个新的管道?

4

3 回答 3

2

为了防止阶段自动运行,您可以为每个阶段添加条件。在这里查看更多信息

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定义的环境之前。它将等待批准。

建议使用发布管道部署您的应用程序。您可以在项目的发布页面中创建发布管道。创建批准以手动干预您的部署任务在发布管道中非常简单。在这里查看详细步骤

于 2019-09-12T02:58:33.683 回答
0

如果您想手动运行舞台,我相信有更好的方法。我在这里发布了一个类似问题的答案:

https://stackoverflow.com/a/61400536/275559

于 2020-04-24T03:21:02.787 回答
0

每个阶段结束时的 FYI 手动验证任务也不可用,这将完成此操作:

现在可用:https ://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/manual-validation?view=azure-devops&tabs=yaml

- 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'
于 2020-12-29T14:22:09.287 回答