持续交付、版本控制和功能分支混乱
Continuous Delivery, Versioning and Feature Branches confusion
我目前正在使用功能分支工作流程实施 CD。我不清楚的是什么时候增加版本号。
创建新功能时是否会增加?
假设我们有 1.1 版,我将实施新功能 FB-123。
创建FB时是否要增加版本?
*---*--- increment build number, now on 1.2.456
/ increment version to 1.2
---* 1.1
并使用 Jenkins 内部版本号进行后续提交?
我会考虑使用以下版本控制架构:
- 每个 major/minor 版本都带有
git
标签
- 分支架构 -
<major>.<minor>.<number of commits from latest minor>-<feature branch-name>-<sha1>
- master schema -
<major>.<minor>
(它认为每个接受的拉取请求都是次要版本)
您可以通过
计算最新次要的提交数
git rev-list HEAD ^<latest minor tag> --ancestry-path <latest minor tag> --count
此架构将允许您从版本名称派生:
- 基本版本
- 分行名称
- git 提交该版本是从
构建的
- 正确比较同一分支的两个版本
我目前正在使用功能分支工作流程实施 CD。我不清楚的是什么时候增加版本号。
创建新功能时是否会增加?
假设我们有 1.1 版,我将实施新功能 FB-123。
创建FB时是否要增加版本?
*---*--- increment build number, now on 1.2.456 / increment version to 1.2 ---* 1.1
并使用 Jenkins 内部版本号进行后续提交?
我会考虑使用以下版本控制架构:
- 每个 major/minor 版本都带有
git
标签 - 分支架构 -
<major>.<minor>.<number of commits from latest minor>-<feature branch-name>-<sha1>
- master schema -
<major>.<minor>
(它认为每个接受的拉取请求都是次要版本)
您可以通过
计算最新次要的提交数git rev-list HEAD ^<latest minor tag> --ancestry-path <latest minor tag> --count
此架构将允许您从版本名称派生:
- 基本版本
- 分行名称
- git 提交该版本是从 构建的
- 正确比较同一分支的两个版本