TeamCity:从 VCS 获取版本

TeamCity: get version from VCS

有没有什么方法可以创建 TeamCity 构建参数并用来自 VCS 的一些值填充它?它可以是 maven 属性 "project.version",一些从文本文件中获取的数字。目标是在 VCS 中仅存储版本号 ,而不必在两个地方都进行更改。

您可以使用 TeamCity service messages 在构建期间设置参数。

要设置或更新构建参数,您应该使用以下语法:

##teamcity[setParameter name='myPar' value='myValue']

例如,可以创建 Command Line 构建步骤以从文件中读取值并将该值保存为参数;然后此参数在下一个构建步骤和构建中可用,具体取决于此参数(通过 %dep.*% 参数引用)。

您可以在另一个 post 此处找到完全相同问题的答案:

复制并粘贴答案:

您可以定义一个您签入版本控制的参数文件,然后将方案更新为 %system.major_version%.%system.minor_version%.%build_number%.0。然后你可以继续使用 AssemblyInfo Patcher,但是根据 props 文件中的值修补所有内容。

只需将以下内容放入项目根目录中名为 teamcity.default.properties 的文件中:

system.major_version=3 system.minor_version=15

这将导致生成号 3.15.1234.0 生成 #1234。