Azure DevOps Server 2020.0.2与2020.1.2差异及升级问题咨询
Azure DevOps Server 2020.0.2 与 2020.1.2 核心差异
- 2020.1.2属于2020系列的Update 1功能分支累积更新,除了覆盖2020.0.2全部的安全补丁、稳定性修复之外,完整包含2020.1版本上线的所有新能力:测试计划细粒度权限管控、Pipeline构建缓存、大型Git仓库拉取性能优化、Wiki页面模板、Analytics内置报表扩展,同时包含2020.1分支上线后两个迭代针对新功能的专属bug修复,比如构建缓存命中率异常、测试计划权限不生效这类只有2020.1分支存在的问题。
- 2020.0.2属于2020 RTM初始基线分支的累积更新,全程没有新增任何功能,所有更新内容都是通用安全漏洞修补、存量功能的问题修复,具体覆盖Repos权限绕过漏洞修复、Pipeline任务提权漏洞修复、报表服务内存泄漏修复、旧版浏览器访问兼容性修复,所有修复逻辑和2020.1.2里的通用修复项完全一致,不会引入任何2020.1分支的功能变更。
官方并行维护两个子版本的原因
- 匹配企业级产品的生命周期支持规则:2020.0作为初始RTM分支,官方提供发布后12个月的安全维护支持,专门服务于不需要新功能、只要求基础稳定性和安全合规的用户;2020.1作为功能更新分支,提供18个月的支持周期,面向有新功能需求、可以接受小版本功能迭代的用户。
- 降低不同合规要求场景的升级风险:不少企业对生产环境变更有严格管控,要求补丁升级不能带来任何功能逻辑变化,避免额外的回归测试成本,2020.0.x分支就是为这类场景设计的,升级前后功能逻辑完全一致,只补安全和稳定性问题,适配等保、合规类的最小变更要求。
从2020.0.1升级的选型建议
- 如果你的环境有严格的变更管控要求,近期没有用到2020.1新功能的需求,希望最小化升级风险、压缩测试窗口,直接选择升级2020.0.2即可。两个版本同属2020.0基线,属于原地累积更新,不需要调整数据库兼容级别,没有配置项结构变更,现有自定义扩展、流水线任务、第三方系统集成接口基本可以直接复用,回滚流程简单。
- 如果你的团队有明确的新功能需求,且能安排足够的测试资源做全量业务验证,可以选择升级2020.1.2。注意该版本升级会更新数据库Schema,升级完成后无法直接回滚到2020.0.x版本,升级前必须做全量配置库、集合库备份,提前在测试环境验证所有自定义扩展、私有Pipeline任务、集成接口的兼容性,避免升级后出现业务中断。
升级操作注意:无论选择哪个版本,升级前都要停掉环境内运行的所有第三方扩展,暂停正在运行的流水线、构建任务,避免升级过程中出现数据写入冲突导致部署失败。
内容的提问来源于stack exchange,提问作者Craig Henshaw
相关产品推荐
相关产品推荐

