我使用的是 TeamCity 6.5.4,并且我需要为同一部署包提供 3 个构建配置。我希望在所有三个构建配置中保留版本号,并能够使用该版本号来对程序集进行版本控制、标记 vcs、对 nuspec 文件进行版本控制等。
以下是配置和所需的版本号:
Configuration | Version
-------------------|---------
CI/Nightly Build | 1.1.*
Minor Release | 1.*.0
Major Release | *.0.0
TeamCity 似乎为每个配置使用单独的构建增量器。这意味着每次我们发布主要或次要版本时,我都必须手动更新所有后续配置中的持久值 (1)。我是一名程序员,而且我很懒。我想要一个按钮来为我完成所有事情。
我见过通过具有依赖快照的配置的构建步骤来保留构建号的示例,但这仅适用于相同的配置。
每次您引用 ID 时,自动增量插件都会增加数字。这对于不断变化的数字 (*) 来说很好,但对于引用持久值 (1) 来说不太好。
TeamCity 有没有办法(无论是 native 还是通过插件)允许我将该版本读取并写入到可以跨构建配置保留的文件或变量?
最佳答案
您可以使用 dep.btx.build.number
引用依赖(工件/快照)配置的内部版本号,其中 btx
是后者的bt id。获得内部版本号后,将内部版本号传递给在配置中运行的脚本,解析脚本中的内部版本号并发送 service messages从脚本到 Teamcity 以您想要的方式设置内部版本号。将此解析和设置数字作为脚本的第一步/构建步骤的第一步。
关于versioning - 在构建步骤和构建配置中保留版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7816101/