

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CodeBuild を使用するパイプラインを作成する (CodePipeline コンソール)
<a name="how-to-create-pipeline-console"></a>

CodeBuild を使用してソースコードをビルドおよびデプロイするパイプラインを作成するには、次の手順を実行します。

ソースコードのみをテストするパイプラインを作成するには、以下の操作を行います。
+ 次の手順を使用してパイプラインを作成し、パイプラインからビルドステージとベータステージを削除します。次に、このトピックの「[CodeBuild テストアクションをパイプラインに追加する (CodePipeline コンソール)](how-to-create-pipeline-add-test.md)」の手順を使用して、CodeBuild を使用するテストアクションをパイプラインに追加します。
+ このトピックの他の手順のいずれかを使用してパイプラインを作成した後、このトピックの「[CodeBuild テストアクションをパイプラインに追加する (CodePipeline コンソール)](how-to-create-pipeline-add-test.md)」の手順を使用して CodeBuild を使用するテストアクションをパイプラインに追加します。

**CodePipeline でパイプライン作成ウィザードを使用して、CodeBuild を使用するパイプラインを作成するには**

1. 以下を使用して にサインイン AWS マネジメントコンソール します。
   +  AWS ルートアカウント。これは推奨されません。詳細については、*ユーザーガイド*の「[アカウントルートユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)」を参照してください。
   +  AWS アカウントの管理者ユーザー。詳細については、「 *ユーザーガイド*[」の「最初の AWS アカウント ルートユーザーとグループの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html)」を参照してください。
   + 以下の最小アクションセットを使用するアクセス許可を持つ AWS アカウントのユーザー。

     ```
     codepipeline:*
     iam:ListRoles
     iam:PassRole
     s3:CreateBucket
     s3:GetBucketPolicy
     s3:GetObject
     s3:ListAllMyBuckets
     s3:ListBucket
     s3:PutBucketPolicy
     codecommit:ListBranches
     codecommit:ListRepositories
     codedeploy:GetApplication
     codedeploy:GetDeploymentGroup
     codedeploy:ListApplications
     codedeploy:ListDeploymentGroups
     elasticbeanstalk:DescribeApplications
     elasticbeanstalk:DescribeEnvironments
     lambda:GetFunctionConfiguration
     lambda:ListFunctions
     opsworks:DescribeStacks
     opsworks:DescribeApps
     opsworks:DescribeLayers
     ```

1. [https://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home) で AWS CodePipeline コンソールを開きます。

1.  AWS リージョンセレクターで、ビルドプロジェクト AWS リソースがある AWS リージョンを選択します。これは、CodeBuild がサポートされている AWS リージョンである必要があります。詳細については、「*Amazon Web Services 全般のリファレンス*」の「[AWS CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region)」を参照してください。

1. パイプラインを作成する CodePipeline 情報ページが表示されたら、**[Create pipeline]** (パイプラインの作成) を選択します。[**Pipelines (パイプライン)**] ページが表示された場合は、[**Create pipeline (パイプラインの作成)**] を選択します。

1. [**Step 1: Choose pipeline settings (ステップ 1: パイプラインの設定の選択)**] ページで、[**Pipeline name (パイプライン名)**] にパイプラインの名前を入力します (例: **CodeBuildDemoPipeline**)。別の名前を選択した場合は、この手順全体でそれを使用してください。

1. [**Role name (ロール名)**] として、以下のいずれかの操作を行います。

   [**New service role (新しいサービスロール)**] を選択し、[**Role Name (ロール名)**] に、新しいサービスロールの名前を入力します。

   **[Existing service role]** (既存のサービスロール) を選択し、このトピックの前提条件の一部として作成または特定した CodePipeline​ サービスロールを選択します。

1. [**Artifact store (アーティファクトストア)**] で、次のいずれかの操作を行います。
   + **デフォルトの場所**を選択して、パイプラインに選択した AWS リージョンのパイプラインのデフォルトとして指定された S3 アーティファクトバケットなど、デフォルトのアーティファクトストアを使用します。
   + パイプラインと同じ AWS リージョンに S3 アーティファクトバケットなど、作成した既存のアーティファクトストアがある場合は、**カスタムロケーション**を選択します。
**注記**  
これはパイプラインのソースコードのソースバケットではありません。パイプラインのアーティファクトストアです。パイプラインと同じ AWS リージョンのパイプラインごとに、S3 バケットなどの個別のアーティファクトストアが必要です。

1. [**次へ**] を選択します。

1. [**Step 2: Add source stage (ステップ 2: ソースステージの追加)**] ページの [**ソースプロバイダ**] で、次のいずれかの操作を行います。
   + ソースコードの保存先が S3 バケットである場合は、**[Amazon S3]** を選択します。[**バケット**] で、ソースコードが含まれている S3 バケットを選択します。[**S3 オブジェクトキー**] に、ソースコードを含むファイルの名前 (例: `file-name.zip`) を入力します。[**次へ**] を選択します。
   + ソースコードが AWS CodeCommit リポジトリに保存されている場合は、**CodeCommit** を選択します。[**Repository name**] で、ソースコードが含まれているリポジトリの名前を選択します。[**ブランチ名**] で、ビルドするソースコードのバージョンが含まれているブランチの名前を選択します。[**次へ**] を選択します。
   + ソースコードが GitHub リポジトリに保存されている場合は、[**GitHub**] を選択します。[**Connect to GitHub**] を選択し、手順に従って GitHub に対して認証します。[**Repository**] で、ソースコードが含まれているリポジトリの名前を選択します。[**ブランチ**] で、ビルドするソースコードのバージョンが含まれているブランチの名前を選択します。

   [**次へ**] を選択します。

1. **[Step 3: Add build stage]** (ステップ 3: ビルドステージを追加する) ページで、**[Build provider]** (ビルドプロバイダー) として **[CodeBuild]** を選択します。

1. 既存のビルドプロジェクトを使用する場合は、**[Project name]** (プロジェクト名) で、ビルドプロジェクトの名前を選択し、この手順の次のステップにスキップします。

   新しい CodeBuild ビルドプロジェクトを作成する必要がある場合は、「[ビルドプロジェクトの作成 (コンソール)](create-project.md#create-project-console)」の手順に従ってから、この手順に戻ります。

   既存のビルドプロジェクトを選択した場合、ビルド出力アーティファクトの設定がすでに定義されている必要があります (ただし、CodePipeline によってビルド出力の設定が上書きされます)。詳細については、「[ビルドプロジェクトの設定の変更 (コンソール)](change-project.md#change-project-console)」を参照してください。
**重要**  
CodeBuild プロジェクトのウェブフックを有効にして、プロジェクトを CodePipeline のビルドステップとして使用すると、コミットごとに 2 つの等しいビルドが作成されます。1 つのビルドはウェブフックを通じてトリガーされ、別の 1 つは CodePipeline を通じてトリガーされます。請求はビルド単位で発生するため、両方のビルドに対して課金されます。したがって、CodePipeline を使用する場合は、CodeBuild でウェブフックを無効にすることをお勧めします。 AWS CodeBuild コンソールで、[**Webhook**] ボックスをオフにします。詳細については、「[ビルドプロジェクトの設定の変更 (コンソール)](change-project.md#change-project-console)」を参照してください。

1. [**Step 4: Add deploy stage (ステップ 4: デプロイステージの追加)**] ページで、次のいずれかの操作を行います。
   + ビルド出力アーティファクトをデプロイしない場合は、[**Skip (スキップ)**] を選択し、プロンプトが表示されたら、これを選択したことを確認します。
   + ビルド出力アーティファクトをデプロイする場合は、[**Deployment provider (デプロイプロバイダ)**] でデプロイプロバイダを選択し、次にプロンプトに応じて設定を指定します。

   [**次へ**] を選択します。

1. [**確認**] ページで、選択内容を確認し、[**パイプラインの作成**] を選択します。

1. パイプラインが正常に実行されたら、ビルド出力アーティファクトを取得できます。CodePipeline コンソールにパイプラインを表示した状態で、**[Build]** (ビルド) アクションでツールヒントを選択します。[**Output artifact**] の値をメモします (例: **MyAppBuild**)。
**注記**  
ビルド出力アーティファクトを取得するには、CodeBuild コンソールのビルドの詳細ページで **[Build artifacts]** (ビルドアーティファクト) リンクを選択することもできます。このページを表示するには、この手順の残りのステップを省略して、「[ビルドの詳細の表示 (コンソール)](view-build-details.md#view-build-details-console)」を参照してください。

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. バケットのリストで、パイプラインで使用されるバケットを開きます。バケット名は、`codepipeline-region-ID-random-number` の形式に従う必要があります。を使用して CodePipeline **get-pipeline** コマンド AWS CLI を実行し、バケットの名前を取得できます。*my-pipeline-name* はパイプラインの表示名です。

   ```
   aws codepipeline get-pipeline --name my-pipeline-name
   ```

    出力では、`pipeline` オブジェクトには `artifactStore` オブジェクトが含まれ、それには、バケットの名前と `location` の値が含まれます。

1. パイプラインの名前と一致するフォルダを開きます (パイプライン名の長さによってはフォルダ名が切り詰められている場合があります)。次に、前に書き留めた [**出力アーティファクト**] の値と一致するフォルダを開きます。

1.  ファイルの内容を展開します。そのフォルダに複数のファイルがある場合は、[**Last Modified**] タイムスタンプが最新であるファイルの内容を抽出します。(システムの ZIP ユーティリティで操作できるように、必要に応じて、ファイルに `.zip` 拡張子を付けます。) ビルド出力アーティファクトは、展開されたファイルの内容に含まれます。

1. CodePipeline にビルド出力アーティファクトをデプロイするよう指示した場合は、デプロイプロバイダの説明を活用してデプロイターゲットのビルド出力アーティファクトを取得します。