作为构建配置的第一步,我尝试动态更改参数并在后续步骤中使用它。在线阅读,似乎这样做的方法是致电##teamcity[setParameter
。但这似乎并没有起作用。它甚至不会在同一步骤中更改该值。
例如,我创建了一个测试参数,并将其默认值设置为“1”。在powershell脚本中,我尝试将其更改为2,如下所示。
但输出保持不变,如下所示
我目前正在使用TeamCity 8.0.3(版本27540)。我究竟做错了什么?
答案 0 :(得分:17)
编辑:我认为问题可能是您用来设置参数的命令。尝试:
Write-Host "##teamcity[setParameter name='TestParameter' value='2']"
-
我们遇到了同样的行为。这里的关键是“后续步骤。” 您必须修改单独构建步骤中的参数,该步骤在您要使用新参数的步骤之前运行。
我的理解是,在执行该步骤之前立即评估构建步骤中的所有参数。令牌将替换为这些参数的未修改值。因此,构建代理实际执行的是:
Write-Host "TestParameter value is 1"
Write-Host "##teamcity[setParameter name='TestParameter' value='2']"
Write-Host "TestParameter value is 1"