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
在 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