Deployment Teamcity设置参数不';我好像不工作

Deployment Teamcity设置参数不';我好像不工作,deployment,teamcity,Deployment,Teamcity,作为构建配置的第一步,我尝试动态更改一个参数,并在后续步骤中使用它。在网上阅读,这样做的方法似乎是调用##teamcity[setParameter。但这似乎不起作用。它甚至不会在同一步骤中更改值 例如,我创建了一个测试参数,并将其默认值设置为“1”。在powershell脚本中,我尝试将其更改为2,如下所示 但产出保持不变,如下所示 我目前正在使用TeamCity 8.0.3(build 27540)。我做错了什么?编辑:我认为问题可能是您用于设置参数的命令。请尝试: Write-Host

作为构建配置的第一步,我尝试动态更改一个参数,并在后续步骤中使用它。在网上阅读,这样做的方法似乎是调用
##teamcity[setParameter
。但这似乎不起作用。它甚至不会在同一步骤中更改值

例如,我创建了一个测试参数,并将其默认值设置为“1”。在powershell脚本中,我尝试将其更改为2,如下所示

但产出保持不变,如下所示


我目前正在使用TeamCity 8.0.3(build 27540)。我做错了什么?

编辑:我认为问题可能是您用于设置参数的命令。请尝试:

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"

不,不是这样。我复制了步骤并删除了最后两行。这样,我只是“写主机”正在初始化TestParameter值。它仍在打印“1”。事实上,这是我遇到的原始问题,其中一个步骤中的更改没有显示在后续步骤中。我更新了答案,以包含一个应在PowerShell中工作的参数更新命令。我认为答案中的其他所有内容都是正确的。不正确。它只是将其打印到日志中。我已经更新了答案还尝试了在TestParameter和“2”之间使用“=”符号。禁止。在后续步骤中也不会更改值。这就是显示的内容
[10:11:02][Step 1/27]TestParameter值为1[10:11:02][Step 1/27]#teamcity[TestParameter='2'][10:11:02][Step 1/27]TestParameter值为1
Third time's a charm;请参阅更新后的编辑。我对其进行了测试,它可以更改后续构建步骤的值。是的。就是这样。我以前尝试过这种组合,但我仍然在同一步骤中进行检查,这与您所说的不一样。但是使用此方法,它现在在同一步骤中显示相同的值,但是不同步骤中的更新值