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

Azure DevOps:保留流水线时其发布的工件是否同步保留?

构建保留策略与工件保留疑问

背景

  • 默认保留策略(截图展示默认规则)
  • 为长期保留指定构建,添加了以下PowerShell任务:
- task: PowerShell@2
  condition: and(succeeded(), not(canceled(), <another condition..>))
  name: RetainOnSuccess
  displayName: Retain on Success
  inputs:
    failOnStderr: true
    targetType: 'inline'
    script: |
      $contentType = "application/json";
      $headers = @{ Authorization = 'Bearer $(System.AccessToken)' };
      $rawRequest = @{ daysValid = 365 * 2; definitionId = $(System.DefinitionId); ownerId = 'User:$(Build.RequestedForId)'; protectPipeline = $false; runId = $(Build.BuildId) };
      $request = ConvertTo-Json @($rawRequest);
      $uri = "$(System.CollectionUri)$(System.TeamProject)/_apis/build/retention/leases?api-version=6.0-preview.1";
      Invoke-RestMethod -uri $uri -method POST -Headers $headers -ContentType $contentType -Body $request;
  • 目前流水线已显示提示:"此运行已被保留超过1年12个月...",代码已生效。

疑问

若该流水线发布了工件,该工件是会随流水线的2年保留时长同步可用,还是会按照保留策略中“保留工件和附件天数”的30天规则到期消失?

回答

当你通过构建保留租赁API设置构建保留时长时,关联的工件会和构建运行的保留时长保持一致,不会触发默认的30天工件清理规则。

Azure DevOps的构建保留租赁机制会把构建运行及其产出的工件、日志等关联资源绑定保护:只要构建运行被租赁保留,它生成的所有工件都会同步保留,直到租赁到期。默认的“保留工件和附件天数”规则仅对没有被主动保留(包括租赁保留、手动保留等)的构建产出生效。

你可以查看工件详情页,确认它的保留到期时间会和构建运行的保留到期时间匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 13:03:16