我已经使用GitFlow存储库在VSTS中配置了我的git存储库。
我有一个带有dotnet核心项目的主分支,以及一个名为'Release / 1.0.0'的发布分支。当我创建一个pull-request并将release / 1.0.0分支合并回master时,它不会将它的版本号增加到1.0.0。相反,它将版本号从0.1.0(基本回退)增加到0.1.1。
构建日志:
Calculating base versions
Fallback base version: 0.1.0 with commit count source xx
Git tag '0.1.0': 0.1.0 with commit count source xx
Base version used: Git tag '0.1.0': 0.1.0 with commit count source xx
但是,提交标签是Merge branch Release / 1.0.0 to master。合并的分支标记为1.0.0。
我正在使用GitVersion默认设置。我正在使用GitVersion VSTS任务。
这是gitversion配置:
assembly-versioning-scheme: MajorMinorPatch
mode: ContinuousDelivery
branches: {}
ignore:
sha: []
如何自动将master分支的版本设置为正在合并的版本号?
更新: 我发现了什么是“错误的”。
发布作为拉取请求合并回来。这将把提交消息设置为Merge PR ####。但是,gitversion的MergeMessageBaseVersionStrategy无法处理这个问题。如果我将版本合并为常规合并,则版本号会增加。
答案 0 :(得分:0)
您应该在master
分支的CI构建中添加GitVersion任务(或在PR完成后构建队列)而不是PR构建验证。
由于在 release/1.0.0
分支真正合并到master
之前触发了PR构建验证,因此Gitversion将检测master
分支的版本(例如版本)在AssemblyInfo.cs
文件中。
如果您在CI版本中添加GitVersion任务( release/1.0.0
分支合并到master
分支后),那么Gitversion将检测版本major.minor.patch =来自release/1.0.0
分支的1.0.0。