【发布时间】:2015-05-25 01:38:27
【问题描述】:
我正在尝试使用程序集信息修补程序来创建一个版本号,例如:
1.2.3.1a3c19e
最后一位是 git 短哈希。
我尝试使用 powershell 脚本构建步骤来创建短哈希(因为我找不到具有它的变量)并将其添加到系统变量中,但是此构建步骤似乎在程序集信息修补程序之后运行,所以是没多大用处。
【问题讨论】:
标签: git teamcity teamcity-9.0
我正在尝试使用程序集信息修补程序来创建一个版本号,例如:
1.2.3.1a3c19e
最后一位是 git 短哈希。
我尝试使用 powershell 脚本构建步骤来创建短哈希(因为我找不到具有它的变量)并将其添加到系统变量中,但是此构建步骤似乎在程序集信息修补程序之后运行,所以是没多大用处。
【问题讨论】:
标签: git teamcity teamcity-9.0
如果您想将其写入“程序集信息”字段,可以这样做,但它需要单独的构建配置来生成构建号。此步骤的唯一目的是创建附加了哈希的内部版本号。
1.创建构建配置以生成短哈希
2。添加生成哈希的步骤
3.添加一个参数来存储哈希
4.添加第二个构建配置并向第一个添加依赖项
5.您现在可以在依赖步骤中使用参数
6.此时你可以在程序集信息修补程序中使用它
对此的替代方法是使用 VCS 标记构建功能将您的内部版本号写回 Git。
希望这会有所帮助。
【讨论】:
(Get-childitem -include AssemblyInfo.cs -recurse) | Foreach-Object { Set-Content -Encoding UTF8 $_ ((Get-content $_) -replace "1.0.0.0", "1.0.0-%GitShortHash%")}。
GitShortHash 参数,因为您已将值留空?步骤 3 中的参数是否需要是环境变量、配置参数或系统属性才能获取值?即使构建日志显示##teamcity[setParameter name='GitShortHash'],我的总是空的。
如果您的意思是 .NET 程序集,您将无法使用 git 的短哈希作为修订号,因为它只接受数字。你可以自己检查一下,把上面的版本放到AssemblyVersion中。我敢打赌你的应用程序不会被编译。相反,您可以使用 teamcity 中的 %build.counter% 变量作为修订号。
【讨论】: