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

Azure DevOps同一发布管道如何仅下载新版工件并识别触发构建

解决方案

一、识别触发本次发布的构建源

Azure DevOps内置预定义变量可直接获取触发发布的工件信息,无需额外配置:

  • 在发布管道的任务(如PowerShell、Cmd任务)中,可直接引用以下变量:
    • $(Release.TriggeringArtifact.Alias):触发发布的工件别名(即添加构建工件时设置的别名)
    • $(Release.TriggeringArtifact.DefinitionName):触发发布的构建管道名称
    • $(Release.TriggeringArtifact.DefinitionId):触发发布的构建管道ID
    • $(Release.TriggeringArtifact.BuildNumber):触发发布的构建版本号
  • 示例:添加PowerShell任务,执行命令打印触发源信息:
    Write-Host "触发源工件别名:$(Release.TriggeringArtifact.Alias)"
    Write-Host "触发源构建管道名称:$(Release.TriggeringArtifact.DefinitionName)"
    
  • 可基于这些变量做分支逻辑,比如仅部署触发源对应的项目。

二、仅下载触发源的工件,避免全量下载

方法1:通过阶段配置实现自动过滤

  1. 打开发布管道,进入目标阶段的「阶段设置」(点击阶段右上角齿轮图标)
  2. 在「工件下载」选项卡,将「下载工件」设为「自定义」
  3. 勾选「仅下载触发此发布的工件」并保存
  4. 后续发布被某个构建触发时,只会下载该构建对应的工件,不会全量下载所有添加的工件

方法2:通过条件任务实现精准控制

若需更灵活的场景(如部分阶段全量下载、部分仅下载触发工件),可手动配置下载任务:

  1. 在阶段设置的「工件下载」中选择「无」,关闭默认下载逻辑
  2. 添加Download Build Artifacts任务,配置项如下:
    • 构建定义:选择触发源对应的构建管道(或用变量$(Release.TriggeringArtifact.DefinitionId)动态指定)
    • 工件名称:填写对应工件名称
    • 下载路径:指定自定义路径(如$(System.DefaultWorkingDirectory)/$(Release.TriggeringArtifact.Alias))
  3. 给任务添加条件:eq(variables['Release.TriggeringArtifact.Alias'], '目标工件别名'),多个工件可复制任务分别配置对应条件

内容的提问来源于stack exchange,提问作者Mohm Zanaty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 23:45:59