【问题标题】:How to make the Gitversion VSTS increment release number on master?如何使 Gitversion VSTS 在 master 上增加发布号?
【发布时间】:2018-04-14 05:10:02
【问题描述】:

我已经在 VSTS 中使用 GitFlow 存储库配置了我的 git 存储库。

我有一个带有 dotnet 核心项目的主分支和一个名为“Release/1.0.0”的发布分支。当我创建拉取请求并将 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 无法处理这个问题。如果我将版本合并为常规合并,则版本号会增加。

【问题讨论】:

  • 是否触发构建以进行 PR 验证?您能否在构建定义中设置 GitVersion.yml 文件和 GitVersion 任务设置?
  • master分支有一个政策,就是完成PR后才能添加代码。完成后触发构建。我添加了 gitversion 配置
  • 您可以在完成拉取请求之前删除生成的“Merged PR...”前缀。

标签: azure-pipelines gitversion


【解决方案1】:

您应该在 CI 构建中为 master 分支(或 PR 完成后的队列构建)添加 GitVersion 任务,而不是 PR 构建验证。

由于触发了PR构建验证之前release/1.0.0分支真正合并到master,所以Gitversion会从master分支检测版本(如AssemblyInfo.cs文件中的版本) .

如果您在 CI 构建中添加 GitVersion 任务( release/1.0.0 分支合并到 master 分支之后),那么 Gitversion 将从中检测版本 major.minor.patch=1.0.0 release/1.0.0分支。

【讨论】:

    猜你喜欢
    • 2020-01-17
    • 1970-01-01
    • 2022-10-25
    • 2019-06-24
    • 2020-06-29
    • 1970-01-01
    • 2018-11-24
    • 1970-01-01
    • 2019-09-29
    相关资源
    最近更新 更多