如何在TeamCity中将构建计数器归零
我试图遵循一些指导,从中描述NuGet和SemVer的最佳实践 第3点指出我应该“在数字后缀中使用前导零来自动递增预释放”,但我正在努力解决如何将TeamCity中的如何在TeamCity中将构建计数器归零,teamcity,teamcity-8.0,Teamcity,Teamcity 8.0,我试图遵循一些指导,从中描述NuGet和SemVer的最佳实践 第3点指出我应该“在数字后缀中使用前导零来自动递增预释放”,但我正在努力解决如何将TeamCity中的build.counter参数归零,以便获得0025而不是25 有人有处理此问题的机制吗?您可以编写如下powershell脚本: function Update-BuildNumber([string]$buildNumber) { $VersionComponents = $buildNumber.Split(".")
build.counter
参数归零,以便获得0025
而不是25
有人有处理此问题的机制吗?您可以编写如下powershell脚本:
function Update-BuildNumber([string]$buildNumber)
{
$VersionComponents = $buildNumber.Split(".")
$buildNumber = ""
foreach($VersionComponent in $VersionComponents)
{
$index = [array]::IndexOf($VersionComponents, $VersionComponent)
if (($index + 1) -eq $VersionComponents.Count)
{
$buildNumber += "00" + $VersionComponent
}
else
{
$buildNumber += $VersionComponent + "."
}
}
Write-Output "##teamcity[buildNumber '$buildNumber']"
}
然后从Teamcity构建步骤调用它,并传递参数%build.number%
,类似于:
Update-BuildNumber -buildNumber %build.number%
如果我是你,我会利用你。它包括一个选项,用于使用生成的版本号的
LegacySemVerPadded
版本。还有各种其他的
这里有一个TeamCity Meta Runner
GitVersion根据存储库的当前状态为您计算新的语义版本号
如果做不到这一点,可以在PowerShell的其他地方进行工作,然后使用更改TeamCity中的版本号。您可以找到PowerShell模块
这就提供了一些帮助函数。谢谢-我会看看GitVersion。@starskythehutch这是我们内部使用的,我将在这个项目中使用它,所以请随时提问:-)如果您的版本号是一个简单的计数器(1,2,3,4,…),您可以使用TeamCity中的PowerShell一行代码来完成此任务:
“##TeamCity[buildNumber'{0}]”-f([Int32]%build.number%)。ToString(“0000”)| Write Host
,在构建过程中,您会将这一行放在何处工作?六年后,我使用此答案来完成以下操作:D我现在已将正确答案更改为这一行。