Teamcity 8-将构建参数视为long或整数

时间:2014-04-29 17:12:37

标签: teamcity

使用teamCity 8.0.5。 作为我的构建清理的一部分,我想自动删除任何早于当前5版本的构建。例如,如果我的build.number = 12,请尝试删除build 6。 不幸的是,你似乎无法施放%build.number%-6。

使用Teamcity如何在构建参数上执行数学运算?

我试过了 %build.number%-1以及将其包装在()

%system.PreviousBuild% =  \\server\path\Build%build.number%-6

我对命令行后期构建事件的实际使用情况:

echo trying to remove directory %system.PreviousBuild%
IF EXIST %system.PreviousBuild% RD %system.PreviousBuild% /Q /S

结果:

[09:19:09] [步骤6/6]尝试删除director \ server \ path \ Build11-6

------------------------- UPDATE --------------------- ------

下面的答案让我得到了以下解决方案:

注意:这里的重要部分是将build.number转换为整数。 使用PowerShell源代码构建步骤

使用powershell为整个命令工作:

Set-Variable -Name previousBuild -Value  (([int]%build.number%)-6).ToString()
Write-Output $previousBuild
Write-Output $env:PreviousBuildPath
Set-Variable -Name path -Value $env:PreviousBuildPath$previousBuild
Write-Output $path
if((Test-Path -path $path))
{
Remove-Item -Recurse -Force $path
}

1 个答案:

答案 0 :(得分:0)

set /a newBuildNumber=%build.number%-6

然后在路径后的TC构建脚本中使用%% newBuildNumber %%。

\\server\path\Build%%newBuildNumber%%