DevOps - 禁用发布管道中的阶段

Pra*_*Raj 4 azure devops azure-devops azure-pipelines

我有一个大约 20 个阶段的发布管道。根据我们正在执行的发布类型,我们决定运行这些阶段的一些子集。

运行每个阶段都很昂贵,除非绝对必要,否则我们不想运行它。

有没有一种直接的方法可以在开始发布时禁用某些阶段,以便我们只执行发布中绝对必要的阶段?

如果不是,那么实现这种行为的最佳编程方式是什么?

小智 7

很简单:只要使用“条件”为 false 或 true 即可;它会跳过你的阶段;例如,

stages:
- stage: "CreateTemplates"  
  condition: "false"
Run Code Online (Sandbox Code Playgroud)

单击此处查看阶段条件示例


Jay*_*ran 6

目前,没有选项可以根据条件禁用阶段。我建议您可以为此功能提交反馈

正如 Daniel 建议的那样,您应该为您的用例创建单独的发布管道

另一种选择是您可以在任务级别定义条件,并跳过您的阶段。

例如,

你有3个阶段:

  • 开发部
  • 质量保证
  • 生产线

每个阶段有 2 个任务:

  • 任务1
  • 任务 2

假设您不想在 QA 中部署。

然后,您可以为 QA 中的 2 个任务定义自定义条件,以跳过执行。

您可以参考我的回答以使用自定义条件。