Azure Pipelines でのリリース

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Note

このトピックでは、クラシック リリース パイプラインについて説明します。 YAML を使用してパイプラインを作成する場合は、「パイプラインをカスタマイズする」を参照してください。

リリースとは、CI/CD パイプラインで指定された一連のバージョン付き成果物を保持するコンストラクトのことです。 これには、ステージ、タスク、ポリシー (トリガーや承認者など)、デプロイ オプションなど、リリース パイプライン内のすべてのタスクとアクションを実行するために必要なすべての情報のスナップショットが含まれます。 1 つのリリース パイプラインからのリリースが複数存在する場合があり、それぞれについての情報が、指定された保持期間にわたって Azure Pipelines に格納および表示されます。

デプロイとは、1 つのステージのタスクを実行するアクションのことです。これには、自動テストの実行、ビルド成果物のデプロイ、およびそのステージに指定されている他のあらゆるアクションが含まれます。 リリースを開始すると、元のリリース パイプラインで定義されている設定とポリシーに基づいて各デプロイが開始されます。 1 つのステージであっても、各リリースを複数回デプロイする場合があります。 1 つのステージでリリースのデプロイが失敗した場合は、同じリリースをそのステージに再デプロイできます。 リリースの再デプロイは、デプロイするリリースに移動して [デプロイ] を選択するだけで実行できます。

次の図は、リリース、リリース パイプライン、デプロイの関係を示しています。

リリース、リリース パイプライン、デプロイの関係

リリース パイプラインの作成

リリースを作成するには、次のようないくつかの方法があります。

  1. デプロイ トリガーを使用すると、新しいビルド成果物が使用可能になるたびにリリースを作成できます。

    継続的デプロイ トリガー

  2. [パイプライン]>[リリース] 内から [リリースの作成] ボタンを使用すると、リリース パイプラインを手動で作成できます。

    UI からリリース パイプラインを作成する

  3. REST API を使用すると、リリース定義を作成できます。

注意

組織でファイアウォールまたはプロキシ サーバーを使用している場合は、Azure Artifacts のドメイン URL と IP アドレスを必ず許可してください。

Q & A

Q: デプロイがトリガーされなかった理由は何ですか?

A: リリース パイプラインを作成しても、必ずデプロイが自動的またはすぐに開始するとは限りません。 このようなことが起こるいくつかの理由を次に示します。

  • 定義されたデプロイ トリガーが、デプロイの一時停止を強制しています。これは、スケジュールされたトリガーがある場合や、別のステージへのデプロイが完了するまで遅延が発生する場合に起こることがあります。

  • 定義されたキュー ポリシーによって、実行の順序や、デプロイのためにリリースがキューに入れられるタイミングが決まっています。

  • 定義されたすべての条件が満たされるまで、特定のステージに対するデプロイ前の承認またはゲートによってデプロイが妨げられています。