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

Azure DevOps定时发布仅部署最新版本的配置方法咨询

Azure DevOps定时发布仅部署最新版本的解决方案

方法1:修改定时触发器的部署选项

这是最直接的配置方式,无需额外脚本:

  • 打开目标发布管道,切换到触发器选项卡
  • 找到已配置的每日6点定时触发计划,点击编辑按钮
  • 在弹出的配置面板中,找到部署选项,勾选「仅部署最新的成功版本」
  • 保存配置后,后续定时触发时只会选择该发布管道下最新的成功版本进行部署

方法2:添加版本校验的前置脚本

如果需要更灵活的控制,可以在发布阶段添加前置PowerShell脚本,判断当前版本是否为最新:

  • 在发布管道的目标阶段最前端,添加一个PowerShell脚本任务
  • 勾选任务设置中的「允许脚本访问OAuth令牌」,确保脚本能调用Azure DevOps API
  • 粘贴以下脚本(可根据需求调整API版本):
# 读取环境变量中的组织、项目和发布管道ID
$orgUrl = "$(System.TeamFoundationCollectionUri)"
$projectName = "$(System.TeamProject)"
$releaseDefId = "$(Release.DefinitionId)"
$accessToken = "$(System.AccessToken)"

# 构建API请求头
$headers = @{
    Authorization = "Bearer $accessToken"
}

# 调用API获取最新发布版本
$apiEndpoint = "$orgUrl/$projectName/_apis/release/releases?definitionId=$releaseDefId&`$top=1&api-version=7.1-preview.8"
$latestRelease = Invoke-RestMethod -Uri $apiEndpoint -Headers $headers -Method Get

# 对比当前版本与最新版本
$latestReleaseName = $latestRelease.value[0].name
$currentReleaseName = "$(Release.ReleaseName)"

if ($currentReleaseName -ne $latestReleaseName) {
    Write-Error "当前版本 $currentReleaseName 不是最新版本,最新版本为 $latestReleaseName,终止部署流程"
    exit 1
}
  • 保存管道配置后,每次发布前会自动校验,非最新版本直接终止部署

方法3:配置版本保留策略(辅助优化)

配合前两种方法,清理旧版本可进一步避免误触发:

  • 打开发布管道的保留选项卡
  • 设置「保留成功的版本」数量为1(或符合业务需求的最小数量)
  • 开启「自动删除旧版本」,超过保留数量的旧版本会被自动清理,减少候选部署版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 13:00:05