Skip to content

Latest commit

 

History

History
66 lines (31 loc) · 3.26 KB

go-release-cycle.md

File metadata and controls

66 lines (31 loc) · 3.26 KB

Go发布周期(Go Release Cycle)


Go 现在的发布周期基本是半年一个版本,新的功能特性的开发主要集中在前 3 个月,之后会冻结起来,原则上只接受 bug 修复和文档更新,最终完成测试和发布。

时间线:Timeline

1月15日/7月15日:开始新版本规划

计划下一个发布周期的版本的主要特性。

2月1日/8月1日:开始新版本开发

如果前一个版本的问题还没有被修复完成,则这个里程碑会被延迟,但是这不会影响下一个里程碑。

5月1日/11月1日:新版本开发冻结

在冻结期间, 通常只有修复bug和更新文档是被允许的, 当然也会有特殊情况, 但是那应该是预先计划好的, 并且保证是低风险的.

在这个时间段内, 最重要的事情是通过测试发现更多的bug, 并修复, 以提升版本的质量. 在修复bug的时候, 需要保证该修复不会带来新的问题. 如果修复一个bug, 却可能带来其他bug的风险比较高, 则该修复有可能被拒绝, 特别是到了快要发布的时候.

在冻结周期的第一个月内, 大部分发现的bug应该都会被修复, 只有少部分会被放到下个版本中修复, 甚至无限期延迟.

在阶段的后期, 修改文档和修复新功能的bug, 都是风险比较低的, 因为这个版本新加入的功能不会引起原有代码的问题.

6月1日/12月1日:Beta 1发布

beta版本的发布标志着该版本几乎所有已知的bug都已经被修复了, 现在开始进入发现未知bug的时候.

随着潜在问题的发现及修复, 当代码发生显著变化的时候, 新的beta版本就会发布, 通常beta版本的周期不会超过两周. 重要的不是我们发布了多少个Beta版本或者RC版本, 而是我们必须邀请我们的用户参与测试, 但是不能提太多的要求而打击了他们的热情.

注意: Beta版本不应该在正式环境下使用.

7月1日/1月1日:RC1发布

RC版本(候选版本)的发布表明版本已经解决最终的发布版本了, 后面通常只是修改和完善文档, 修复关键性的bug, 这种bug通常是比较罕见的了. 如果发现并修复了关键性bug, 新的RC版本就会发布, 其发布周期通常不会超过两个星期.

RC版本经过相关的测试之后, 建议相关的组织能够应用到其内部的生产环境之中.

在这段时间的后半期是讨论下一个版本的好时机.

8月1日/2月1日:正式版发布

正式版(Release)的发布意味着重要的bug都已经被修复, 所有代码都已经经过了良好的测试.

如果版本发布延期了, 这虽然不理想, 但也是可以接受的. 因为Google使用RC版本作为默认版本的方式, 所以在正式版本发行之前, 其实已经经历了4个星期的发布测试, 虽然这还不能保证完全没有问题, 但是我们有信心这已经是高质量的版本了. 我们强烈建议其他的组织也开始使用新版本, 并积极给我们报告问题.

一旦正式版本已经发布, 就可以开始下一个版本的工作了, 包括代码审查和提交新代码等.

版本维护

历史


Date: 2016-08-23 Author: alex cai [email protected]