versioning - 在构建步骤和构建配置中保留版本号

标签 versioning teamcity

我使用的是 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/

相关文章:

continuous-integration - TeamCity + 蛋糕 : Displaying VSTest output in project summary

javascript - 对 JavaScript 单页 Web 应用程序进行版本控制? (请求参数)

java - 在不同应用程序之间同步数据的推荐方法是什么?

build - [MSBuild]::Add 调用返回错误 MSB4186

docker - 如何在Teamcity中的Agent checkout文件夹之外设置工件路径?

jmeter - TeamCity 结果与 JMeter 的不匹配

database - 使用首字母和增量对 RDBMS 中的数据集进行版本控制

svn - 进行 CDN 版本控制的最佳方法

c# - CS0411 : The type arguments for method X cannot be inferred from the usage when building with TeamCity

Ant 模式匹配 - * 与 **