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

Mik*_* Jr 47 teamcity

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

小智 78

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

注意,要设置变量,必须以引号以某种方式写出(**echo**对于bash命令行,**write-host**对于Powershell).例:

echo "##teamcity[setParameter name='env.ENV_AAA' value='aaaaaaaaaa']"
Run Code Online (Sandbox Code Playgroud)

%env.ENV_AAA%在下一个构建步骤的框中使用此变量write (TeamCity 9.1.7中的Atleast))

  • 为现在正在查看此内容的任何人更新了文档:https://confluence.jetbrains.com/display/TCD10/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-changingBuildParameterAddingorChangingaBuildParameterfromaBuildStepAddingorChangingaBuildParameter (5认同)
  • 玛丽亚,谢谢指针.我在我的TeamCity构建步骤3执行的ruby程序中设置了以下内容:"## teamcity [setParameter name ='env.USER_DATETIME'value ='#{DateTime.now}']"并在ruby程序中设置以下内容由我的TeamCity构建步骤4执行"... USER_DATETIME ='#{ENV ['USER_DATETIME']}'"并且它有效! (2认同)