如何在TeamCity中增加两个不同的构建号

时间:2016-05-12 20:49:51

标签: build teamcity

在我的项目中,我有版本号和版本号。版本号采用Julian日期格式,并且每当版本号在一天内每次构建时增加时,版本号都会增加。 例如,在5月12日=> 133.1,133.2等 在5月13日=> 134.1,134.2等。

我可以创建两个构建配置,每个配置递增,但我不知道如何访问其他构建配置参数。

我当前的版本格式为%VersionJulDateBuildNum%。%build.counter%

3 个答案:

答案 0 :(得分:0)

TeamCity将自动为您管理AssemblyVersion属性,但有一些注意事项:

它将完全覆盖现有值。 它将更新解决方案中的所有AssemblyVersions,因此如果您在同一解决方案中保留不同的项目版本,这可能对您不起作用。 有了这些警告,请按照以下方式进行设置:

在构建配置的常规设置中,将内部版本号格式更改为%version%。{0} 在Build Parameters中,将%version%定义为major.minor.patch。 在Build Steps中,滚动到屏幕底部,然后单击Add Build Feature。选择AssemblyInfo修补程序。确保以%build.number%填写程序集版本格式。 就是这样。 TeamCity将根据%version%和build计数器的定义将所有程序集信息更新为major.minor.patch.build,然后自动将这些更改恢复为构建的最后一步。

答案 1 :(得分:0)

没有" easy" (或内置)使用TeamCity执行此操作的方法。

我以前见过的常见方法是在构建开始时(可以放在所有构建可以继承的模板上)使用Powershell(或Bash)脚本步骤来读取版本从某个文本文件中编号(例如,所有构建代理可以看到的网络共享),增加它并更新文件。您可以使用唯一的构建配置ID来命名文件。

另一种更复杂但更优雅(IMO)的方法是将版本号存储为构建配置本身的参数,然后通过构建中的步骤,使用TeamCity REST API以递增的方式更新参数值。这样您就可以使用TeamCity为您存储价值,而不必担心网络共享,文本文件,文件锁等等。

与您的问题没有关系,但如果您还没有作为您使用的版本控制方案的替代方案,我建议您先查看SemVer,(IMO)给出你更有价值的信息。

答案 2 :(得分:0)

如果一个构建配置与另一个构建配置具有快照依赖关系,则可以使用%dep。

引用它的参数。

enter image description here enter image description here

希望这有帮助