parameters - TeamCity 条件参数值

如何将运行时值分配给构建参数?我将构建参数设置为一个下拉列表,比如说 %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 参数。然后,您可以在后续构建步骤中使用该参数。

https://stackoverflow.com/questions/17138693/

相关文章:

build - 在构建服务器上使用 ramdisk 是否明智?

build - Gitlab-CI:gitlab ci trigger build 仅用于合并请求

c++ - 用于创建合并/将库的所有源文件合并为 C/C++ 的工具?

c++ - 在头文件与 .cpp 文件中编码 C++ (moSTLy)

xcode - 构建静态库

Maven - 从外部属性文件中读取属性

scala - SBT - 姓名和身份证有什么区别?

ios - 带有 "Release: Fastest, Smallest [-Os]"的 Xcode

scala - 如何为 SBT 设置默认项目

build - 链接大型库时是否可以加快 Rust 编译?