チュートリアル: プルリクエストのブランチ名をフィルタリングしてパイプラインを開始する (V2 タイプ) - AWS CodePipeline

チュートリアル: プルリクエストのブランチ名をフィルタリングしてパイプラインを開始する (V2 タイプ)

このチュートリアルでは、GitHub.com リポジトリに接続するパイプラインを作成します。このリポジトリでは、プルリクエストをフィルタリングするトリガー設定でパイプラインを開始するようにソースアクションを設定します。指定したブランチに対して指定したプルリクエストイベントが発生すると、パイプラインが開始します。この例では、ブランチ名のフィルタリングを許可するパイプラインの作成方法を示します。トリガーの操作の詳細については、「プッシュリクエストイベントタイプとプルリクエストイベントタイプのフィルターを追加する (CLI)」を参照してください。glob 形式の正規表現パターンを使用したフィルタリングの詳細については、「構文での glob パターンの使用」を参照してください。

重要

パイプライン作成の一環として、CodePipeline は、ユーザーが指定した S3 アーティファクトバケットをアーティファクトとして使用します (これは S3 ソースアクションで使用するバケットとは異なります)。S3 アーティファクトバケットがパイプラインのアカウントとは異なるアカウントにある場合は、S3 アーティファクトバケットを所有している AWS アカウントが安全で信頼できることを確認してください。

このチュートリアルでは、CodeStarSourceConnection アクションタイプを使用して GitHub.com に接続します。

前提条件

開始する前に、以下を実行する必要があります。

  • GitHub.com アカウントで GitHub.com リポジトリを作成します。

  • GitHub の認証情報を準備してください。AWS マネジメントコンソール を使用して接続を設定すると、GitHub の認証情報を使用してサインインするように求められます。

ステップ 1: 指定したブランチのプルリクエストに応じて開始するパイプラインを作成する

このセクションでは、以下のアクションを使用してパイプラインを作成します。

  • GitHub.com のリポジトリおよびアクションへの接続を持つソースステージ。

  • AWS CodeBuild ビルドアクションを含むビルドステージ。

ウィザードを使用してパイプラインを作成するには
  1. CodePipeline コンソール (http://console.aws.amazon.com/codesuite/codepipeline/home) にサインインします。

  2. [ようこそ] ページ、[開始方法] ページ、または [パイプライン] ページで、[パイプラインの作成] を選択します。

  3. [ステップ 1: 作成オプションを選択する] ページの [作成オプション] で、[カスタムパイプラインを構築する] オプションを選択します。[次へ] を選択します。

  4. [ステップ 2: パイプラインの設定を選択する] で、[パイプライン名] に「MyFilterBranchesPipeline」と入力します。

  5. [パイプラインのタイプ] で、デフォルトの選択を [V2] のままにします。パイプラインのタイプによって特徴および価格が異なります。詳細については、「パイプラインのタイプ」を参照してください。

  6. [サービスロール] で、[New service role (新しいサービスロール)] を選択します。

    注記

    既存の CodePipeline サービスロールを代わりに使用する場合は、サービスロールポリシーに対する codeconnections:UseConnection IAM アクセス許可を追加したことを確認してください。CodePipeline サービスロールの手順については、「Add permissions to the the CodePipeline service role」を参照してください。

  7. [詳細設定] では、デフォルト値のままにします。アーティファクトストアで、[Default location] (デフォルトの場所)を選択し、パイプライン用に選択したリージョン内のパイプラインのデフォルトのアーティファクトストア (デフォルトとして指定された Amazon S3 アーティファクトバケットなど) を使用します。

    注記

    これはソースコードのソースバケットではありません。パイプラインのアーティファクトストアです。パイプラインごとに S3 バケットなどの個別のアーティファクトストアが必要です。

    [次へ] を選択します。

  8. [ステップ 3: ソースステージの追加] ページで、ソースステージを追加します。

    1. [ソースプロバイダー] で、[GitHub (GitHub アプリ経由)] を選択します。

    2. 接続 で、既存の接続を選択するか、新規の接続を作成します。GitHub ソースアクション用の接続を作成または管理する方法については、GitHub コネクション を参照してください。

    3. [リポジトリ名] で、GitHub.com リポジトリの名前を選択します。

    4. [トリガータイプ] で、[フィルターを指定] を選択します。

      [イベントタイプ] で、[プルリクエスト] を選択します。プルリクエストですべてのイベントを選択し、プルリクエストの作成、更新、またはクローズに応じてイベントが発生するようにします。

      [ブランチ] で、[含める] フィールドに「main*」と入力します。

      プルリクエストをイベントタイプとするトリガーで、値として main* を選択した [含める] ブランチオプションを示す画像
      重要

      このトリガータイプで開始するパイプラインは、WebhookV2 イベントに対して設定します。パイプラインの開始には Webhook イベント (すべてのプッシュイベントでの変更検出) を使用しません。

    [次へ] を選択します。

  9. [ステップ 4: ビルドステージの追加][ビルドプロバイダー] で、[AWS CodeBuild] を選択します。[リージョン] をデフォルトでパイプラインのリージョンにすることを許可します。「チュートリアル: Git タグを使用してパイプラインを開始する」の指示に従って、ビルドプロジェクトを選択または作成します。このアクションは、パイプラインの作成に必要な 2 番目のステージとして、このチュートリアルでのみ使用します。

  10. [ステップ 5: テストステージの追加] で、[テストステージをスキップ] を選択し、もう一度 [スキップ] を選択して警告メッセージを受け入れます。

    [次へ] を選択します。

  11. [ステップ 6: デプロイステージの追加] ページで、[デプロイステージをスキップ] を選択し、もう一度 [スキップ] を選択して警告メッセージを受け入れます。[次へ] を選択します。

  12. [ステップ 7: レビュー] で、[パイプラインを作成する] を選択します。

ステップ 2: GitHub.com でプルリクエストを作成してマージし、パイプライン実行を開始する

このセクションでは、プルリクエストを作成してマージします。これにより、プルリクエストを開く 1 つの実行と、プルリクエストを閉じる 1 つの実行でパイプラインが開始します。

プルリクエストを作成してパイプラインを開始するには
  1. GitHub.com で、機能ブランチの README.md に変更を加え、main ブランチにプルリクエストを送信することで、プルリクエストを作成します。Update README.md for PR のようなメッセージを付けて変更をコミットします。

  2. パイプラインは、プルリクエストのソースメッセージとして Update README.md for PR を示すソースリビジョンで開始します。

    プルリクエストのソースメッセージとしてテキスト「Update README.md for PR」を示す画像
  3. [履歴] を選択します。パイプライン実行履歴で、パイプライン実行を開始した CREATED および MERGED プルリクエストのステータスイベントを表示します。

    パイプライン実行を開始した CREATED および MERGED プルリクエストのステータスイベントを表示するパイプライン実行履歴を示す画像