【发布时间】:2016-04-14 19:21:48
【问题描述】:
在我阅读了this article 和另一个之后,我发现版本控制是程序员的决定,所以我相信 CI 系统无法理解这个包的版本(CI 系统无法理解拉取的提交是否是一个补丁,一个新功能)。
但是,程序员不知道如何将补丁(错误、功能等)链接到版本号标识。
根据语义版本:
- 仅在发布错误修复等时增加补丁版本(例如从 2.3.4 到 2.3.5)
- 添加新功能时增加次要版本(例如,从 1.3.2 到 1.4.0)
- 在引入重大更改时增加主要版本(例如从 3.2.9 到 4.0.0)
我的语义版本将遵循下一个模式:1.2.3+7489ab44d3,其中 1 是主要版本号,2 是次要版本号,3 是补丁或错误号。那么+7489ab44d3将是CI系统上构建的工作标识。
所以,这种模式的第一部分依赖于人脑,最后一部分在 CI 系统下。
我也读过,可以使用问题跟踪系统来根据某种信息整理每个问题并将其提供给 CI 系统。
提供自动化以实现这一目标的最佳方式是什么?
【问题讨论】:
标签: git continuous-integration issue-tracking semantic-versioning