You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps中基于触发工件条件运行对应代理作业

配置Azure DevOps发布作业的工件触发条件

这问题我经常碰到,用Azure DevOps的自定义运行条件就能完美解决,核心思路是利用发布管道的预定义变量判断触发当前发布的工件,然后给每个代理作业设置对应的运行条件。具体步骤如下:

  • 第一步:确认工件别名
    先打开你的发布管道,切换到「工件」标签页,找到两个工件对应的别名(Alias)——默认是对应CI管道的名称,你也可以点击编辑图标自定义别名(比如改成BackendArtifact和FrontendArtifact),把这两个别名记下来,后面要用到。

  • 第二步:给第一个代理作业设置条件
    进入阶段1的第一个代理作业,点击作业右上角的「...」按钮选择「编辑」,找到「运行条件」区域,选择「自定义条件」,然后输入以下表达式(把ArtifactA替换成你第一个工件的实际别名):

    eq(variables['Release.TriggeringArtifact.Alias'], 'ArtifactA')
    

    这个表达式的意思是:只有当触发本次发布的工件别名为ArtifactA时,才运行这个代理作业。

  • 第三步:给第二个代理作业设置条件
    用同样的方式编辑第二个代理作业,在自定义条件里输入:

    eq(variables['Release.TriggeringArtifact.Alias'], 'ArtifactB')
    

    替换成你第二个工件的实际别名即可。

额外小贴士

  • 如果你担心别名可能被修改,也可以用CI管道的ID来判断,更稳定。表达式改为:
    eq(variables['Release.TriggeringArtifact.DefinitionId'], '123')
    
    这里的123是对应CI管道的ID,你可以在CI管道的「概述」页面找到这个ID。
  • 配置完后可以手动测试:点击发布管道的「创建发布」,手动选择其中一个工件触发,查看对应的代理作业是否正常运行,另一个是否被跳过。

内容的提问来源于stack exchange,提问作者sumit salunke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 15:03:09