我已经使用 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 无法处理此问题。如果我将发行版合并为常规合并,则版本号会增加。
最佳答案
您应该在 CI 构建中为 master
添加 GitVersion 任务。分支(或 PR 完成后的队列构建)而不是 PR 构建验证。
由于 PR 构建验证被触发 之前 release/1.0.0
分支真的合并成master
,所以 Gitversion 会检测来自 master
的版本分支(例如 AssemblyInfo.cs
文件中的版本)。
如果在 CI 构建中添加 GitVersion 任务( 之后 release/1.0.0
分支合并到 master
分支后的 分支),那么 Gitversion 将检测来自 release/1.0.0
的版本 Major.minor.patch=1.0.0分支。
关于azure-pipelines - 如何使 Gitversion VSTS 在 master 上增加版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47062391/