2つのステージを含む単純なAzure Pipelineがあります。
ステージ1はソースコードをビルドし、バイナリをAzure Artifactsにプッシュします。ステージ2では、ステージ1のバイナリをダウンロードし、さまざまなテストにさまざまなジョブを使用して、それらに対して複数のテストを実行します。
これらのジョブは互いに完全に独立しており、並行して実行されます。
すべてのステージとジョブが成功した場合、ステージ1とステージ2のジョブ1と2を再度トリガーせずに、ステージ2でジョブ3を手動でトリガーするにはどうすればよいですか?
醜い回避策の1つは、変数を使用して新しいパイプラインを実行し、変数が設定されている場合はステージ1をスキップして、前のパイプラインからバイナリをダウンロードすることです。より良いアプローチはありますか?
編集:ms devコミュニティで同様のトピックが進行中です: https://developercommunity.visualstudio.com/idea/697467/manually-triggered-stages-in-yaml-multi-stage-pipe.html?childToView = 903723#comment-90372
Yamlでリリースパイプラインを定義する場合、condition: false
複数のジョブのパイプラインでジョブを無効化/スキップします。
- job: Foo
condition: false
詳細はこちら case を参照してください。
次に、マルチステージパイプラインを実行するときに実行するステージを選択できます。これにより、Stage1をスキップできます。