次の方法で共有


Azure Pipelines で複数のブランチを構築する

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

Azure Pipelines を使用すると、リポジトリへの新しいコミットとプル要求のたびにプロジェクトをビルドするトリガーを作成できます。 この記事では、継続的インテグレーションを有効にし、リポジトリに対して複数のブランチ ビルドを設定する方法について説明します。

[前提条件]

トピック ブランチの CI トリガーを有効にする

Git を使用する場合は、合理化されたワークフローを容易にするためにメイン ブランチから一時的なブランチを作成するのが一般的な方法です。 これらの分岐は、多くの場合、トピックまたは機能ブランチと呼ばれ、作業を分離する目的に役立ちます。 このワークフローでは、特定の機能またはバグ修正専用のブランチを作成し、完了したら、トピック ブランチを削除する前にコードをメイン ブランチにマージします。

YAML ファイルでトリガーが明示的に指定されていない場合、ブランチに加えられた変更によって実行がトリガーされます。 メイン ブランチと機能/ブランチの両方にトリガーを追加するには、YAML ファイルに次のスニペットを含めます。 これにより、これらのブランチに加えられた変更によって、パイプラインの実行が自動的にトリガーされるようになります。

trigger:
- main
- feature/*

TFS では、YAML ビルドはまだ使用できません。

ビルド中のブランチに基づいてビルド タスクをカスタマイズする

通常、メイン ブランチは、バイナリなどのデプロイ可能な成果物を生成する役割を担います。 有効期間の短い機能ブランチでは、これらの成果物の作成と格納に時間を費やす必要はありません。 Azure Pipelines では、カスタム条件を実装して、特定のタスクがメイン ブランチでのみ実行されるようにすることができます。

メイン ブランチでazure-pipelines.yml ファイルを編集し、目的のタスクに条件を追加します。 たとえば、次のスニペットは、 パイプライン成果物の発行 タスクに条件を追加します。

- task: PublishPipelineArtifact@1
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))

TFS では、YAML ビルドはまだ使用できません。

pull requests を検証する

ブランチ保護を確保するために、プル要求をマージする前にビルドの成功を要求するポリシーを利用できます。 Azure Pipelines を使用すると、メイン ブランチなどの重要なブランチに変更をマージするための新しい正常なビルドの要件を柔軟に構成できます。

GitHub リポジトリ

YAML ファイルで pr トリガーを明示的に定義しない場合、pull request ビルドはすべてのブランチに対して既定で有効になります。 ただし、プル要求ビルドのターゲット ブランチを柔軟に指定できます。 たとえば、フィーチャー以降メイン ブランチとブランチを対象とするプル要求専用にビルドを実行する場合は、次の構成を指定できます。

pr:
- main
- feature/*

TFS では、YAML ビルドはまだ使用できません。

Azure Repos リポジトリ

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [ リポジトリ ] を選択し、[ブランチ] を選択 します

  3. ブランチ名の右側にある省略記号アイコンを選択し、[ ブランチ ポリシー] を選択します。

  4. [ ビルド検証 ] メニューで、+ 記号を選択してビルド ポリシーを追加します。

  5. ドロップダウン メニューから ビルド パイプライン を選択し、 トリガー が自動に設定され、 ポリシー要件 が必須に設定されていることを確認します。

  6. ポリシーを説明する わかりやすい表示名 を入力します。

  7. [ 保存] を 選択してポリシーを作成して有効にします。 画面の左上にある [ 変更を保存] を選択して変更を保存します。

新しいビルド ポリシーを追加する方法を示すスクリーンショット。

  1. ポリシーをテストするには、Azure DevOps ポータルで Repos>Pull 要求 に移動します。

  2. [ 新しいプル要求 ] を選択し、トピック ブランチがメイン ブランチにマージされるように設定されていることを確認し、[ 作成] を選択します。

  3. 画面には、現在実行中のポリシーが表示されます。

  4. ポリシー名を選択してビルドを確認します。 ビルドが成功すると、pull request がマージされます。 ビルドが失敗した場合、マージはブロックされます。

Azure Pipelines では、パイプラインごとの保持ポリシーはサポートされなくなりました。 プロジェクト レベルの保持ルールを使用することをお勧めします。