GitVersion 使用描述符和自动递增版本号进行基于主干的开发

Posted

技术标签:

【中文标题】GitVersion 使用描述符和自动递增版本号进行基于主干的开发【英文标题】:GitVersion using descriptors and auto increment version number for trunk based development 【发布时间】:2018-02-01 17:45:55 【问题描述】:

我正在 TFS 上实施 CI 流程。我想使用语义版本控制,语义版本控制应该自动增加。另外,我想使用“CI”、“beta”和“release”等描述符。

看起来 GitVersion 是一个合适的工具。但据了解,尤其是根据git分支生成的描述符。我们不使用 gitflow,我们使用基于主干的开发。

versioning nuget package GitVersion Documentation

虽然只使用一个分支。是否仍然可以自动增加版本号并放置适当的描述符,例如 CI,“发布”。如果可能的话,一篇好的博客文章或分步教程将非常有帮助。

此外,如果您知道替代工具或如何在 TFS 上实现此类版本控制。这也会很有帮助。

【问题讨论】:

【参考方案1】:

要在一个分支中进行版本控制,我们只能用有意义的 cmets 签入更改。

要增加 TFS 中的版本号,您可以创建构建/发布定义。然后根据需要设置构建/发布名称格式。它适用于 TFVC 和 Git。

对于构建/发布名称格式,您可以使用标记、变量和下划线字符的组合来设置对您的团队有意义的更有用的名称。

例如:

CI_Beta_$(TeamProject)_$(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)

只需添加复制文件步骤即可将版本控制的源代码保存到任何服务器或 UNC 路径。

详情请见Build definition options。

【讨论】:

我想使用“CI”、“beta”和“release”等描述符。这些文档涵盖了除描述符之外的大部分内容。当 beta 工件成为发行版时,我应该如何管理?你有什么意见吗? @melih.tt 如果你使用构建定义,你只需要改变构建号格式,你可以输入任何描述符作为格式,如上图所示,例如,当 beta 工件变为一个版本,您可以将格式更改为 Release_$(Date:yyyyMMdd)$(Rev:.r)。您还可以创建 CD 发行版来管理它。见visualstudio.com/en-us/docs/build/overview

以上是关于GitVersion 使用描述符和自动递增版本号进行基于主干的开发的主要内容,如果未能解决你的问题,请参考以下文章

GitVersion:Octopus Deploy 在 Nuget 包版本上拒绝了多个候选版本

使用 GitVersion 进行多个相关的 NuGet 库版本控制。 MonoRepo 还是 MultiRepo?

GitVersion:如何通过提交消息回滚 SemVer 编号更改?

如何拥有自动递增的构建版本号(KDevelop)?

如何拥有自动递增的版本号(Visual Studio)? [复制]

如果没有首先构建新创建的发布分支,GitVersion不会碰到TeamCity中的开发分支构建的次要版本