2013-06-16 25 views
15

ビルドパラメータにランタイム値を割り当てるにはどうすればよいですか?私はビルドパラメータを設定して、%config.buildMode%をドロップダウンボックスに設定し、IF条件のようなものを用意してビルドモードの選択に基づいて別のパラメータに別の値を割り当てる必要があります。TeamCityの条件付きパラメータ値

if %config.buildMode% == 'Debug' 
    %config.hostName% = 'localhost' 
else if %config.buildMode% == 'Release' 
    %config.hostName% = 'http://servername' 
else 
    %config.hostName% = 'http://stackoverflow.com' 
+0

だけで、追加の情報については、すべてのパラメータ –

答えて

0

私は条件付きではないと思います。 Alesは、各パラメータに文字列マッシュアップが含まれている可能性があります。このマッシュアップは受信スクリプトによって解析できます。たとえば、

%config.buildMode-1% == 'Debug|localhost' 
%config.buildMode-2% == 'Release|http://servername' 
%config.buildMode-3% == '*|http://stackoverflow.com' 
15

というよりはむしろ遅れている可能性があります。 条件付きにする値の追加パラメータ(TargetServerNameなど)を追加しますが、値は空白のままにします。 次に、プロセスの開始時にpowershellビルドステップを追加し、このようなスクリプトを入力します。

$BuildMode = "%buildMode%" 
$ServerName = "" 

if ($BuildMode -eq "Debug") { 
    $ServerName = "localhost" 
} 
elseif ($BuildMode -eq "Release") { 
    $ServerName = "theserver" 
} 
else 
{ 
exit 1 
} 
echo "##teamcity[setParameter name='TargetServerName' value='$ServerName']" 

最後の行は魔法です。それを出力することで、Teamcityは基本的にTargetServerNameパラメータを設定して実行します。その後、後続のビルドステップでこのパラメータを使用することができます。

+0

を設定https://confluence.jetbrains.com/display/TCD10/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-changingBuildParameterAddingorChangingaBuildParameterfromaBuildStepAddingorChangingaBuildParameterでドキュメントを読みます – stun

関連する問題