web-dev-qa-db-ja.com

Azure Pipelinesで単一のジョブを手動でトリガーするにはどうすればよいですか?

2つのステージを含む単純なAzure Pipelineがあります。

  • ステージ1:ビルド
  • ステージ2:テストを実行する

ステージ1はソースコードをビルドし、バイナリをAzure Artifactsにプッシュします。ステージ2では、ステージ1のバイナリをダウンロードし、さまざまなテストにさまざまなジョブを使用して、それらに対して複数のテストを実行します。

  • ジョブ1:モジュールAのテストを実行する
  • ジョブ2:モジュールBのテストを実行する
  • ジョブ3:モジュールCのテストを実行する

これらのジョブは互いに完全に独立しており、並行して実行されます。

すべてのステージとジョブが成功した場合、ステージ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をスキップできます。

enter image description here

0
Hugh Lin - MSFT