2017-09-20 4 views
0

タスク1はPowerShellスクリプトです。変数を設定します##vso[task.setvariable variable=Metadata.ContinueGen;]falseTaskContextで変数セットに基づいてVisual Studio Onlineビルドをキャンセルするにはどうすればよいですか?

タスク2には、条件が満たされた場合にのみ実行されるカスタム条件があります。タスクはスキップされますが、これは問題ありません。しかし、私はまだ実行したくない一連のタスクを全部持っています。

各タスク定義に条件を適用せずに残りのビルドタスクを停止する方法を理解したいと思います。あなたはPowerShellスクリプトでこれを置く場合は、条件が発生した場合、ビルドを中止したいようですね

答えて

0

..

、それはエラーとあなたの活動の残りの部分を終了します。

Write-Error ("Stopping Build steps, will not continue to the next") 
exit 1 
+0

私はまだビルドがエラーの代わりにいくつかの種類の完了+キャンセルされた状態で完了したいと思うが、それはうまくいくだろう。 –

1

カスタム条件が唯一のタスクではないすべての次のタスクを実行する方法を設定することができます。したがって、以下のすべてのタスクのカスタム条件を設定する必要があります(カスタム条件でアーカイブする場合)。

しかし、変数Metadata.ContinueGenfalseの場合は、をスキップ/キャンセルする別の方法として、があります。以前のすべてのタスクがを成功しているのみデフォルト状態をすべて次のタスクを設定し

  1. :以下のように詳細手順。
  2. タスクの前に、PowerShellタスクを追加して、Metadata.ContinueGenの値がfalseであるかどうかを比較してください。それは偽だ場合は、キャンセルととJobStatus設定:Metadata.ContinueGenがfalse

    Write-Host "##vso[task.setvariable variable=agent.jobstatus;]canceled" 
    
  3. 場合はPowerShellのタスクのステータスが成功していないので、次のタスクも取り消されます。

関連する問題