何时在发布管理周期中增加版本号

时间:2016-11-29 11:51:17

标签: version-control release-management semantic-versioning

我们结合使用GitHub,TeamCity,CodeReviews和Octopus部署来管理我们的整体发布管理流程。我们开发网站和几个内部使用的API。

我们正在寻求更好地实现API的更好版本,并将使用Semver。

我的问题是,您在哪个阶段为其分配版本号?

示例:

  • Master中的当前版本是1.2.1
  • 用户创建分支(Branch2)以实现一些新功能
  • 用户将Branch2部署到QA中以供审核和签署
  • 用户将Branch2合并为Master并发布到Production。

版本应该在什么阶段增加到1.3.0?如果它在进入QA的阶段更新,那么同时另一个开发人员可能会创建另一个功能分支,该分支经过测试并准备好比分发2更快地发布到生产中 - 所以真的后者应该是1.3。 0,而将在几周后推出生产的Branch2应该[可能是1.4.0。

那么,我是否正确地认为版本号只应在QA签署后以及最终合并回主分支之前递增?

感谢您提前的时间 问候, dotdev

1 个答案:

答案 0 :(得分:0)

如您所述,我看到了以下版本:

  • 1.2.1 Master中的当前版本为1.2.1
  • 1.3.0-alpha+branch2用户创建分支(Branch2)以实现一些新功能
  • 1.3.0-beta+branch2用户将Branch2部署到QA中以供审核和签署
  • 1.3.0用户将Branch2合并为Master并发布到Production。

在任何官方/产品发布后,必须立即增加到下一个版本。这是一个可以提供帮助的草图。

feature                           *-(1.3.0-beta+feature1)---*                            *-(1.4.0-beta+feature2)--
                                 /                           \                          /
 master  -[v1.2.1]-(1.3.0-beta)-*-----------------------------*-[v1.3.0]-(1.4.0-beta)--*-----
           \                                                     \      
release     *----                                                 *---

您可以手动将标记应用于由方括号表示的官方版本,而版本(正常括号)会在历史记录中包含帐户标记。

我建议您查看精彩的GitVersion工具,以帮助您管理计算。