Azure DevOps Server:阶段B保留设置低于前置阶段A是否合理?
Azure DevOps Server 2022.1 多阶段发布管道保留策略答疑
你的理解有误,Azure DevOps的阶段级保留策略并非简单的"阶段A覆盖阶段B"逻辑,而是取所有已部署阶段设置中的最大值来决定整个发布的保留规则,具体如下:
1. 保留时长(Days to retain a release)逻辑
当发布同时部署到阶段A和B时,系统会取两个阶段设置的最大值(10天)作为该发布的实际保留时长。原因是只要有一个阶段要求更长的保留周期,整个发布就会满足这个最长要求,不会因某阶段的短时长提前被清理。
2. 最小保留发布数(Minimum releases to keep)逻辑
同样遵循"取最大值"规则,系统会确保至少保留5个发布(阶段A的设置值),因为这是两个阶段中的最高要求,不会因阶段B的3个要求而删除符合更高保留数量的发布。
关于阶段配置的可行方案
并非仅局限于"阶段B沿用A的设置"或"B的设置值高于A"两种,实际配置可根据需求灵活调整,但需明确最终生效规则:
- 若阶段B的保留值低于阶段A,B的设置不会影响最终保留策略,因为A的更高值会生效;
- 若阶段B的保留值高于阶段A,最终会以B的高值为准;
- 若让B沿用A的设置,两者值相同,最终生效的就是这个共同值。
简言之,阶段级保留策略是取各阶段设置的最大值,而非单一阶段覆盖其他阶段。配置时可按需设置各阶段的值,但要明确最终生效的是最大值。
内容的提问来源于stack exchange,提问作者Huadara
相关产品推荐
相关产品推荐

