Teamcity - 自动每周增加内部版本号

时间:2014-01-08 13:23:49

标签: build version teamcity versioning

是否有人暗示如何每周增加下面数字的第二部分(“249”)? TeamCity能够在每次构建之后增加构建计数器的数量,到目前为止一直很好。

1.0。的 249 即可。%build.counter%

此外,我需要每周增加249次。 例如:249> 250; 250> 251; 101> 102; 41> 42; ...

提前致谢。

2 个答案:

答案 0 :(得分:6)

您可以通过在PowerShell构建步骤中以编程方式重新定义build.number来实现此目的。

  1. 添加PowerShell构建步骤作为配置的第一步。
  2. 在该构建步骤中设置以下参数:
    • Script源代码
    • Script execution mode使用“文件”参数执行.ps1脚本
    • Script source
  3. Write-Host "##teamcity[buildNumber '1.0.$([Math]::Floor([DateTime]::Now.DayOfYear/7)).%build.counter%']"

    所有后续构建步骤都应该能够使用新的build.number值。

    $([Math]::Floor([DateTime]::Now.DayOfYear/7))是神奇的;它产生了当年的当前一周。您需要按摩一下以符合您现有的编号。

    关于重用的说明:您需要参数化1.0主要/次要值,以便在多个项目中重复使用此步骤。我定义了一个参数%major.minor%,并将其值设置为1.0(或者其他。)PowerShell脚本将是这样的:

    Write-Host "##teamcity[buildNumber '%major.minor%.$([Math]::Floor([DateTime]::Now.DayOfYear/7)).%build.counter%']"

    编辑:切换到Jacob提到的更简单的Write-Host实现。

答案 1 :(得分:0)

在TeamCity中搜索自定义内部版本号的方法时,我碰巧偶然发现了这个问题。 @ john-hoerr提供的答案非常完美(感谢你)。

我已经接受了约翰的回答并根据我的需要对其进行了修改。这是一个powershell脚本,它将使用构建配置设置的常规选项卡中提供的构建号格式,日期格式(任何性质)和TeamCity的构建计数器来更新构建号:

/etc/pm/sleep.d

理想情况下,构建计数器会在午夜重置为0,以便当天的第一个构建版本的构建计数器值为1.