2011-11-21 121 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

相關問題