クラシック リリース パイプラインを使用して pull request 成果物をデプロイする

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

pull request では、コードベースにマージされる前にコードの変更を確認する効果的な方法を提供します。 ただし、これらの変更により、アプリケーションをビルドして特定の環境にデプロイせずに見つけるのが難しい問題が発生する可能性があります。 pull request トリガーを使用すると、コードをデプロイする前に満たす必要がある条件のセットを設定できます。 この記事では、ビルド成果物をデプロイするために、Azure Repos と GitHub を使用して pull request トリガーを設定する方法について説明します。

前提条件

pull request のデプロイ

pull request トリガーでは、指定されたブランチに対して新しい pull request を生成するたびに、指定された環境へのデプロイを開始するためにリリースが自動的にトリガーされます。 その後、デプロイの状態が pull request ページに表示されます。 pull request トリガーは、コードの品質を向上させ、より高い信頼性でリリースし、開発サイクルの早い段階で問題を検出するのに役立ちます。

pull request のデプロイの設定は 2 段階のプロセスです。まず、pull request トリガーを設定してから、リリース パイプライン用にブランチ ポリシー (Azure Repos) または状態チェック (GitHub) を設定する必要があります。

pull request トリガーを作成する

pull request トリガーでは、新しいビルド成果物が使用可能になるたびにリリースを作成します。

  1. Azure DevOps プロジェクトに移動し、[パイプライン]>[リリース] を選択して、リリース パイプラインを選択します。

  2. [成果物] セクションで [継続的デプロイ トリガー] アイコンを選択します。

    継続的デプロイ トリガーの設定にアクセスする方法を示すスクリーンショット。

  3. トグル ボタンを選択して、pull request トリガーを有効にします。

    pull request トリガーを有効にする方法を示すスクリーンショット。

  4. ドロップダウン メニューから [ターゲット ブランチ] を選択します。

    ターゲット ブランチを選択する方法を示すスクリーンショット。

  5. アプリケーションを特定のステージにデプロイするには、そのステージを明示的にオプトインする必要があります。 [ステージ] セクションには、pull request のデプロイで有効になっているステージが表示されます。

    pull request のデプロイが有効になっているステージの一覧を示すスクリーンショット。

    pull request のデプロイのステージをオプトインするには、特定のステージの [デプロイ前の条件] アイコンを選択し、[リリース後] >[トリガー] を選択します。 最後に、[pull request のデプロイ] トグル ボタンを選択して有効にします。

    特定のステージの pull request のデプロイを有効にする方法を示すスクリーンショット。

重要

運用環境のステージに対して pull request の自動デプロイを有効にすることはお勧めしません。

Azure Repos のブランチ ポリシーを設定する

ブランチ ポリシーを使用して、pull request をマージするために満たす必要がある条件の一覧を実装できます。

  1. プロジェクトに移動し、[リポジトリ]>[ブランチ] を選択して、リポジトリのブランチの一覧にアクセスします。

    Azure Repos のブランチに移動する方法を示すスクリーンショット。

  2. 該当のブランチのコンテキスト メニュー [...] を選択し、[ブランチ ポリシー] を選択します。

    特定のブランチのブランチ ポリシーにアクセスする方法を示すスクリーンショット。

  3. [状態ポリシーの追加] を選択し、ドロップダウン メニューから [チェックする状態] を選択します。 リリース定義に対応する状態を選択し、[保存] を選択します。

    状態ポリシーを追加する方法を示すスクリーンショット。

    注意

    状態の一覧を取得するには、pull request トリガーを有効にして、リリース定義を少なくとも 1 回実行する必要があります。 詳細については、「外部サービスのブランチ ポリシーを構成する」を参照してください。

  4. 新しい状態ポリシーが追加されると、ユーザーは "成功" 状態が pull request にポストされないと、ターゲット ブランチへの変更をマージできなくなります。

    状態ポリシーの一覧と有効な pull request のデプロイ ポリシーを示すスクリーンショット。

  5. ポリシーの状態は、pull request の [概要] ページから確認できます。 ポリシー設定に応じて、[必須][オプション]、または [状態] セクションで、投稿されたリリースの状態を表示できます。 リリースの状態は、パイプラインがトリガーされるたびに更新されます。

    pull request ポリシーの状態を示すスクリーンショット。

GitHub リポジトリの状態チェックを設定する

GitHub リポジトリの状態チェックを有効にすると、管理者は pull request をターゲット ブランチにマージする前に満たす必要がある条件を選択できます。

注意

状態チェックは、pull request のデプロイ条件が有効になっている状態でリリース パイプラインが少なくとも 1 回実行された後にのみ、pull request に投稿されます。 詳細については、ブランチ保護規則に関する記事を参照してください。

状態チェックを有効にする方法を示すスクリーンショット。

状態チェックは、pull request の [会話] タブで表示できます。

pull request の状態チェックを示すスクリーンショット。