.run および .runwait

.run [-c "<condition>"] "<ProjectName>" ["<ProjectSnapshotName>"]
.runwait [-c "<condition>"] "<ProjectName>" ["<ProjectSnapshotName>"]

.run コマンドと .runwait コマンドを使用して、チェーニングされたプロジェクトをステップ・コマンドから起動することができます。プロジェクトのスナップショットを指定するには、オプションの <ProjectSnapshotName> パラメーターを使用します。

これらのコマンドは、プロジェクトを起動した後の振る舞いに違いがあります。

条件付き起動

オプションの -c パラメーターを使用して、条件別の起動を実行することができます。 条件には 環境変数を使用することができます。条件には以下のいくつかの形式が あります。
ストリング比較
等号 (=) または非等号 (!=) 演算子を使用して、ストリングを評価することができます。 比較が真と評価すれば、チェーンが起動されます。
数値比較
<、>、<>、><、または = 演算子を使用し、2 つの 数値を比較します。
コマンド成功
backtick に囲まれたコマンドを、-c パラメーターの値として使用することができます。 システムがコマンドを実行し、成功するとチェーンが起動されます。

.run "BuildWindowsDriver"

システムは BuildWindowsDriver プロジェクトを起動します。起動プロジェクトは すぐに次のステップで続行します。

.runwait "BuildWindowsDriver"

システムは BuildWindowsDriver プロジェクトを起動します。システムは、 .runwait ステップで起動プロジェクトを一時停止します。BuildWindowsDriver プロジェクトが 完了して成功すると、.runwait ステップの状況は pass に設定されます。

.run -c "$HOMEDRIVE=C:" "Simple Echo"

HOMEDRIVE 変数に値 C がある場合のみ、システムはプロジェクト Simple Echo を 実行します。

このコマンドは以下のように (ステップ・ログの EXEC セクションに) ログ出力を生成します。
  • HOMEDRIVE が C の場合:
    .run Condition: 'C:' = 'C:' satisfied.
    
    Queueing Project "Simple Echo" on server [WinBox].
    Queued Build 'BUILD_202' of project 'Simple Echo'.
  • HOMEDRIVE が C でない場合:
    .run -c "$HOMEDRIVE=C:" "Simple Echo"     
    
    .run Condition: 'D:' = 'C:' unsatisfied, no project queued.

ストリングに数値が含まれる場合、システムはストリングを数値的に 比較することができます。例えば、以下の場合には、次に示すように処理します。

.runwait -c "a12b<c42d" "Simple Echo"

.run Condition: '12' < '42' satisfied. 
Queueing Project "Simple Echo" on server [WinBox]. 
Waiting for .run build (4411) to complete. 
.run build is now running. 
.run build has finished. 
Build 'BUILD_203' of project 'Simple Echo' completed. 

.runwait -c "f43g<>h43i" "Simple Echo"

.run Condition: '43' <> '43' unsatisfied, no project queued. 

以下の例に、コマンドを条件として使用する方法を 示します。コマンドは引用符と backtick の両方で囲む必要があることに注意してください。

.run -c "`exit 1`" "Simple Echo"

Env .run encountered an error during variable expansion, 
   parameter [`exit1`] expanded to []. 
Expansion returned non-zero exit, project will not be queued. 

.run -c "`exit 0`" "Simple Echo"

Expansion returned zero exit, project will be queued. 
Queueing Project "Simple Echo" on server [WinBox]. 
Queued Build 'BUILD_204' of project 'Simple Echo'.

.runwait を使用し、ビルドが失敗する場合、 ログは次のように表示されます。

.runwait "Fail Build"

Queueing Project "Fail Build" on server [WinBox]. 
Waiting for .run build (4413) to complete. 
.run build is now running. 
.run build has finished. 
Build 'BUILD_3' of project 'Fail Build' Failed, setting step status to fail.

フィードバック