Azure devops Azure管道:任务组的有条件运行

Azure devops Azure管道:任务组的有条件运行,azure-devops,azure-pipelines,devops,Azure Devops,Azure Pipelines,Devops,在Azure管道中,我可以有条件地运行特定的任务/作业。然而,如果我有一个任务组,我看不到任何选项来指定它的执行条件 我能做到这一点的唯一方法是创建一个运行任务组的新作业altogher,并在作业中指定条件表达式 这有一个缺点-作业在不同的代理上运行。在这种情况下,只会创建一个新代理,以便在某个条件下运行该任务组。这会减慢部署速度 所以-问题是-如何有条件地执行任务组 感谢您,根据:可以在任务组中配置任务条件(例如PowerShell脚本任务的“仅当上一个任务失败时运行此任务”),这些设置将随任

在Azure管道中,我可以有条件地运行特定的任务/作业。然而,如果我有一个任务组,我看不到任何选项来指定它的执行条件

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

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

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

感谢您,根据:可以在任务组中配置任务条件(例如PowerShell脚本任务的“仅当上一个任务失败时运行此任务”),这些设置将随任务组一起保留

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

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

更新1

作为一种解决方法,我们可以在中定义这些任务,然后根据条件从管道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

您只能在TG内的任务中设置条件,然后向TG发送变量以确定是否要运行任务或not@ShaykiAbramczyk-我考虑过,但是如果任务组有大量任务,我必须在每个任务中检查该变量/条件。这似乎不是一种很优雅的方式你是对的,但我认为没有其他解决方案:(遗憾的是,这样一个基本的东西被遗漏了。我在各种管道和不同的场景中使用了一些大型任务组。能够控制它们的执行是一个基本的任务,希望很快就能提供。您好@sppc42,建议票证状态在路线图上,azure devops产品团队似乎已经检查了此功能,您可以按照在罚单上获取最新消息。谢谢。您好@sppc42,我已经更新了答案,请检查。我们不能在任务组级别使用条件,但我们可以通过条件调用不同的模板,我们可以在yaml模板文件中定义这些任务。这正是我最终要做的,并且它可以工作