Azure Pipelines:任务组的条件 运行

Azure Pipelines: Conditional run of task groups

在 Azure 管道中,我可以有条件地 运行 一个特定的 task/job。但是,如果我有一个任务组,我看不到任何指定其执行条件的选项。

我能够做到这一点的唯一方法是创建一个新的工作 运行 任务组并在工作中指定条件表达式。

这有缺点 - 作业 运行 在不同的代理上。在这种情况下,在某种情况下,只会为 运行 该任务组创建一个新代理。这会减慢部署速度

所以 - 问题是 - 如何有条件地执行任务组?

谢谢

根据doc:任务条件(例如PowerShell脚本任务的“运行此任务仅当前一个任务失败时”)可以在任务组中配置,这些设置与任务组保持一致。

如果要自定义任务组级别条件,azure devops暂时不支持

我在我们的 UserVoice 网站上发现了一个 ticket,这是我们提供产品建议的主要论坛。您可以为此反馈投票并添加您的评论。如果他们查看更新,产品团队将提供更新。

更新1

作为解决方法,我们可以在 yaml template 中定义这些任务,然后我们可以根据条件从管道 YAML 调用不同的模板。

示例代码:

parameters:
- name: experimentalTemplate
  displayName: 'Use experimental build process?'
  type: boolean
  default: false

steps:
  - ${{ if eq(parameters.experimentalTemplate, true) }}:
    - template: experimental.yml
  - ${{ if not(eq(parameters.experimentalTemplate, true)) }}:
    - template: stable.yml