使用teamCity 8.0.5。作为我的构建清理工作的一部分,我希望自动删除任何比当前5个版本更老的构建。例如,如果我的build.number = 12,请尝试删除build 6。不幸的是,您似乎不能转换%build。
使用Teamcity,如何对构建参数执行数学?
我已经尝试过%build.number% -1,并将它封装在()中。
%system.PreviousBuild% = \\server\path\Build%build.number%-6我实际使用这个命令行post构建事件:
echo trying to remove directory %system.PreviousBuild%
IF EXIST %system.PreviousBuild% RD %system.PreviousBuild% /Q /S结果:
09:19:09尝试移除导演\server\path\Build11 11-6
下面的答案告诉我以下的解决方案:
注意:这里的重要部分是将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
}发布于 2014-04-30 08:22:39
set /a newBuildNumber=%build.number%-6然后在路径之后在TC构建脚本中使用%%newBuildNumber%。
\\server\path\Build%%newBuildNumber%%https://stackoverflow.com/questions/23371093
复制相似问题