如何阻止 GitVersion 在版本号中包含提交哈希?

Ho do I prevent GitVersion from including the commit hash in the version number?

我刚刚开始在 TFS 2018.3(VSTS、Azure DevOps)中使用 GitVersion,并真正尝试了简单的选项。我直接使用 GitVersion TFS marketplace 任务。我用 1.1.0.0 和 运行 标记了主 b运行ch 构建。

构建日志显示:

2018-10-25T15:39:53.1843138Z INFO [10/25/18 17:39:53:08] Updating assembly info files 2018-10-25T15:39:53.1843138Z INFO [10/25/18 17:39:53:18] Found 42 files 2018-10-25T15:39:53.3123172Z [section]Async Command Start: Update Build Number 2018-10-25T15:39:53.3123172Z Update build number to 1.2.0-alpha.354-20181025.1 for build 1107

据此,我希望得到一个版本 1.2.0-alpha.354-20181025.1,但 AssemblyInformationalVersion 中的结果版本是:

<Assembly: AssemblyInformationalVersion("1.2.0-alpha.354+Branch.develop.Sha.1b44044f1e3324182b9e1f37958b6a4942731e59")>

<Assembly: AssemblyInformationalVersion("1.2.0-some_branch_name.1+366.Branch.feature/some_branch_name.Sha.1b44044f1e3324182b9e1f37958b6a4942731e59")>

有没有办法阻止显示 Branch.develop.Sha.1b...

这是使用该任务的正确方法吗?

要自定义 GitVersion 的默认设置,您应该在存储库的根目录中添加一个 GitVersion.yml 文件。例如这些内容:

mode: ContinuousDeployment
assembly-informational-format: '{SemVer}-{CommitDate}'
branches: {}
ignore:
  sha: []

这将导致版本字符串 1.2.0-alpha.354-2018-10-25

要尝试您的 GitVersion.yml 文件是否正常工作,您可以打开命令行并执行 GitVersion.exe /updateassemblyinfo。仅当您在本地安装了 GitVersion 时才有效,例如choco install GitVersion.Portable。另见 GitVersion docs。但是,执行 GitVersion.exe /updateassemblyinfo 命令将为您提供完整的变量列表,供您包含在 GitVersion.yml 文件中。