0

我是新手,gitversion并且正在努力实现我想要的效果。到目前为止,我们将升级文件的Version标记.csproj,提交,然后标记提交。结果:版本的标签位于版本递增的同一提交上。

然后我们切换到gitversion,目的是让事情变得更加自动化。gitversion /updateprojectfiles当我们想要更新版本时,我们现在运行。但是,这样做的问题是版本是根据最后一个标签设置的(可能是由于我们的配置),因此版本的标签不能在包含此更改的提交上。换句话说,如果现在应该是 0.6.0 版本,运行上述命令仍会将其设置为 0.5.0,除非我们在更新之前进行标记(不理想)。

我可以做些什么不同的事情,以仍然使用此命令并将标签放在升级文件中的版本的同一提交上.csproj

GitVersion.yml 文件:

branches:
  master:
    mode: ContinuousDeployment
    prevent-increment-of-merged-branch-version: true
    tag:
    increment: Patch
  develop:
    mode: ContinuousDeployment
    prevent-increment-of-merged-branch-version: false
    tag: alpha
    increment: Patch
  feature: {}
ignore:
  sha: []
merge-message-formats: {}
4

1 回答 1

0

执行 GitVersion 的目的是从 Git 元数据中生成版本号,而不是相反。GitVersion 将在同一分支上的同一提交中生成相同的版本号,无论何时何地构建该提交,因此您的稳定标签之间的所有中间版本号都不需要提交给 Git。

gitversion /updateprojectfiles因此应该在构建期间在 CI/CD 服务器上执行,并且修改后的项目文件将被视为构建工件——而不是应该提交给源代码控制的东西。

于 2021-03-17T10:20:59.617 回答