如何在master上制作Gitversion VSTS增量版本号?

时间:2017-11-01 19:34:32

标签: azure-pipelines gitversion

我已经使用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的MergeMes​​sageBaseVersionStrategy无法处理这个问题。如果我将版本合并为常规合并,则版本号会增加。

1 个答案:

答案 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。