TeamCity,将在一个构建步骤中生成的id传递给以后的构建步骤

TeamCity,将在一个构建步骤中生成的id传递给以后的构建步骤,teamcity,Teamcity,TeamCity的新成员。我有多个构建步骤。步骤3生成步骤4中所需的id。在步骤3和步骤4之间传递id(字符串)的最佳方式是什么?构建步骤是用Ruby编写的。我可以设置环境变量吗?是的,您可以在一个生成步骤中设置环境变量,然后在下一步中使用它。您将需要在构建脚本中使用服务消息(如本文所述)来动态更新构建参数,您可以在下一步中使用该参数。请注意,它在生成它的步骤中不可用,只在下一个步骤中可用 请注意,要设置变量,必须以某种方式将其写出(echo对于bash命令行,write host对于Power

TeamCity的新成员。我有多个构建步骤。步骤3生成步骤4中所需的id。在步骤3和步骤4之间传递id(字符串)的最佳方式是什么?构建步骤是用Ruby编写的。我可以设置环境变量吗?

是的,您可以在一个生成步骤中设置环境变量,然后在下一步中使用它。您将需要在构建脚本中使用服务消息(如本文所述)来动态更新构建参数,您可以在下一步中使用该参数。请注意,它在生成它的步骤中不可用,只在下一个步骤中可用

请注意,要设置变量,必须以某种方式将其写出(
echo
对于bash命令行,
write host
对于Powershell),并用引号括起来。例如:

echo "##teamcity[setParameter name='env.ENV_AAA' value='aaaaaaaaaa']"

要使用此变量,请在下一个构建步骤(至少在TeamCity 9.1.7中)的框中写入
%env.env_AAA%

Maria,感谢您提供的指针。我在我的TeamCity构建步骤3执行的ruby程序中设置了以下内容:“##TeamCity[setParameter name='env.USER_DATETIME'value=''.{DATETIME.now}']”,我在我的TeamCity构建步骤4执行的ruby程序中设置了以下内容:“…USER_DATETIME='.{env['USER_DATETIME']}”,它成功了!如果不在
构建配置设置->参数
部分中预先定义参数值,我无法在下一步中检索参数值。根据文档:(请参阅“添加或更改构建参数”)@MikeJr:这对我不起作用:
USER_DATETIME='{ENV['USER_DATETIME']}'
这起作用了:
echo%ENV.USER_DATETIME%
Teamcity版本是9.1.6(Build 37459)更新文档,供现在查看: