如何将运行时值分配给构建参数?我将构建参数设置为一个下拉列表,比如说 %config.buildMode%,我需要有类似 IF 条件的内容,以便我可以根据构建模式选择为另一个参数分配不同的值。
例如
if %config.buildMode% == 'Debug'
%config.hostName% = 'localhost'
else if %config.buildMode% == 'Release'
%config.hostName% = 'http://servername'
else
%config.hostName% = 'http://stackoverflow.com'
最佳答案
晚会有点晚,但有可能。 为您希望成为条件的值添加一个额外的参数(例如 TargetServerName),但将该值留空。 然后在进程开始时添加一个powershell构建步骤,并输入这样的脚本;
$BuildMode = "%buildMode%"
$ServerName = ""
if ($BuildMode -eq "Debug") {
$ServerName = "localhost"
}
elseif ($BuildMode -eq "Release") {
$ServerName = "theserver"
}
else
{
exit 1
}
echo "##teamcity[setParameter name='TargetServerName' value='$ServerName']"
最后一行是魔法。通过输出,teamcity 基本上会执行它,设置您的 TargetServerName 参数。然后,您可以在后续构建步骤中使用该参数。
关于parameters - TeamCity 条件参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17138693/