2011-11-21 87 views

回答

58

是的,您可以在一个构建步骤中设置一个环境变量,并在以下步骤中使用它。您需要在构建脚本中使用服务消息,如http://confluence.jetbrains.net/display/TCD65/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-AddingorChangingaBuildParameterfromaBuildStep所述,以动态更新构建参数,您可以在下一步中使用该参数。请注意,它在生成它的步骤中将不可用,仅在下一个步骤中可用。

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

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

,并在接下来的生成步骤使用这个变量写%env.ENV_AAA%在框中(ATLEAST在TeamCity的9.1.7))

+2

玛丽亚,谢谢你的指针。 我设置在由我的TeamCity生成步骤执行的Ruby程序以下3 看跌期权 “## TeamCity的[名称的setParameter = 'env.USER_DATETIME' 值= '#{DateTime.now}']” 和予设定的在我的TeamCity构建步骤4 执行的ruby程序中执行下面的命令put“... USER_DATETIME ='#{ENV ['USER_DATETIME']}'” 它起作用了! –

+0

我很高兴它有帮助=) –

+0

我无法在下一步中检索参数值,而无需在“构建配置设置 - >参数”部分中预先定义它。 根据文档: https://confluence.jetbrains.com/display/TCD9/Build+Script+Interaction+with+TeamCity(请参阅“添加或更改构建参数”) @MikeJr:这不适用于我工作:'echo%env.USER_DATETIME%' Teamcity版本是9.1.6(内部版本37459) – antonbormotov

相关问题