クラシック リリース パイプラインを使用して pull request 成果物をデプロイする
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
pull request では、コードベースにマージされる前にコードの変更を確認する効果的な方法を提供します。 ただし、これらの変更により、アプリケーションをビルドして特定の環境にデプロイせずに見つけるのが難しい問題が発生する可能性があります。 pull request トリガーを使用すると、コードをデプロイする前に満たす必要がある条件のセットを設定できます。 この記事では、ビルド成果物をデプロイするために、Azure Repos と GitHub を使用して pull request トリガーを設定する方法について説明します。
前提条件
- Azure Repos または GitHub でホストされているソース コード。 pipelines-dotnet-core サンプル アプリを使用し、まだリポジトリがない場合はリポジトリを作成します。
- リポジトリの作業ビルド パイプライン。
- クラシック リリース パイプライン。 クラシック リリース パイプラインを設定します (まだ設定してない場合)。
pull request のデプロイ
pull request トリガーでは、指定されたブランチに対して新しい pull request を生成するたびに、指定された環境へのデプロイを開始するためにリリースが自動的にトリガーされます。 その後、デプロイの状態が pull request ページに表示されます。 pull request トリガーは、コードの品質を向上させ、より高い信頼性でリリースし、開発サイクルの早い段階で問題を検出するのに役立ちます。
pull request のデプロイの設定は 2 段階のプロセスです。まず、pull request トリガーを設定してから、リリース パイプライン用にブランチ ポリシー (Azure Repos) または状態チェック (GitHub) を設定する必要があります。
pull request トリガーを作成する
pull request トリガーでは、新しいビルド成果物が使用可能になるたびにリリースを作成します。
Azure DevOps プロジェクトに移動し、[パイプライン]>[リリース] を選択して、リリース パイプラインを選択します。
[成果物] セクションで [継続的デプロイ トリガー] アイコンを選択します。
トグル ボタンを選択して、pull request トリガーを有効にします。
ドロップダウン メニューから [ターゲット ブランチ] を選択します。
アプリケーションを特定のステージにデプロイするには、そのステージを明示的にオプトインする必要があります。 [ステージ] セクションには、pull request のデプロイで有効になっているステージが表示されます。
pull request のデプロイのステージをオプトインするには、特定のステージの [デプロイ前の条件] アイコンを選択し、[リリース後] >[トリガー] を選択します。 最後に、[pull request のデプロイ] トグル ボタンを選択して有効にします。
重要
運用環境のステージに対して pull request の自動デプロイを有効にすることはお勧めしません。
Azure Repos のブランチ ポリシーを設定する
ブランチ ポリシーを使用して、pull request をマージするために満たす必要がある条件の一覧を実装できます。
プロジェクトに移動し、[リポジトリ]>[ブランチ] を選択して、リポジトリのブランチの一覧にアクセスします。
該当のブランチのコンテキスト メニュー [
...
] を選択し、[ブランチ ポリシー] を選択します。[状態ポリシーの追加] を選択し、ドロップダウン メニューから [チェックする状態] を選択します。 リリース定義に対応する状態を選択し、[保存] を選択します。
注意
状態の一覧を取得するには、pull request トリガーを有効にして、リリース定義を少なくとも 1 回実行する必要があります。 詳細については、「外部サービスのブランチ ポリシーを構成する」を参照してください。
新しい状態ポリシーが追加されると、ユーザーは "成功" 状態が pull request にポストされないと、ターゲット ブランチへの変更をマージできなくなります。
ポリシーの状態は、pull request の [概要] ページから確認できます。 ポリシー設定に応じて、[必須]、[オプション]、または [状態] セクションで、投稿されたリリースの状態を表示できます。 リリースの状態は、パイプラインがトリガーされるたびに更新されます。
GitHub リポジトリの状態チェックを設定する
GitHub リポジトリの状態チェックを有効にすると、管理者は pull request をターゲット ブランチにマージする前に満たす必要がある条件を選択できます。
注意
状態チェックは、pull request のデプロイ条件が有効になっている状態でリリース パイプラインが少なくとも 1 回実行された後にのみ、pull request に投稿されます。 詳細については、ブランチ保護規則に関する記事を参照してください。
状態チェックは、pull request の [会話] タブで表示できます。