为什么使用 GitVersion 时补丁版本不自动递增?

问题描述

我正在使用 Azure 管道通过 GitVersion 设置版本号。 这是管道:

    - task: gitversion/setup@0
      displayName: 'Setup GitVersion'
      inputs:
        versionSpec: '5.x'
    
    - task: gitversion/execute@0
      displayName: 'Run GitVersion'
      inputs:
        useConfigFile: true
        configFilePath: 'GitVersion.yml'

它似乎运行没有任何问题,但补丁编号从未增加。当我将 +semver: patch 添加到提交消息时,它也不起作用。

FullSemVer 似乎受到了影响:0.8.0+11
但我期待:0.8.11

这是 GitVersion.yml 文件

next-version: 0.7.0
assembly-versioning-scheme: MajorMinorPatch
assembly-file-versioning-scheme: MajorMinorPatchTag
assembly-informational-format: '{informationalVersion}'
mode: ContinuousDelivery
increment: Patch
continuous-delivery-fallback-tag: ci
tag-prefix: '[vV]'
major-version-bump-message: '\+semver:\s?(breaking|major)'
minor-version-bump-message: '\+semver:\s?(feature|minor)'
patch-version-bump-message: '\+semver:\s?(fix|patch)'
no-bump-message: '\+semver:\s?(none|skip)'
legacy-semver-padding: 4
build-Metadata-padding: 4
commits-since-version-source-padding: 4
commit-message-incrementing: Enabled
commit-date-format: 'yyyy-MM-dd'
ignore:
  sha: []
merge-message-formats: {}

感谢您的帮助。

解决方法

FullSemVer 似乎受到影响:0.8.0+11

当我使用 ContinuousDelivery mode 时,我可以获得相同的结果。

您可以尝试使用 yml 文件中的 mainline mode

这是我的示例:您可以尝试删除 next-version 参数

mode: mainline
tag-prefix: '[vV]'
commit-message-incrementing: Enabled
major-version-bump-message: '\+semver:\s?(breaking|major)'
minor-version-bump-message: '\+semver:\s?(feature|minor)'
patch-version-bump-message: '\+semver:\s?(fix|patch)'
no-bump-message: '\+semver:\s?(none|skip)'
assembly-informational-format: '{Major}.{Minor}.{Patch}' 

这是关于 Gitversion Mainline mode 的文档。

结果:

enter image description here

补丁会自动递增

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...