使用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
}
答案 0 :(得分:0)
set /a newBuildNumber=%build.number%-6
然后在路径后的TC构建脚本中使用%% newBuildNumber %%。
\\server\path\Build%%newBuildNumber%%