AWS CodePipeline で AWS CodeBuild を使用してコードをテストし、ビルドを実行する - AWS CodeBuild

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

AWS CodePipeline で AWS CodeBuild を使用してコードをテストし、ビルドを実行する

リリースプロセスを自動化するには、AWS CodePipeline を使用してコードをテストし、AWS CodeBuild でビルドを実行します。

次の表に示しているのは、タスクとその実行に使用できるメソッドです。これらのタスクを AWS SDK で達成する方法については、このトピックの対象外です。

タスク 使用可能なアプローチ このトピックで説明するアプローチ
でビルドを自動化 CodePipeline する で継続的デリバリー (CD) パイプラインを作成する CodeBuild
  • CodePipeline コンソール

  • AWS CLI

  • AWS SDK

  • CodePipeline コンソールの使用

  • AWS CLI の使用

  • このトピックの情報は、AWS SDK を使用するように調整できます。詳細については、AWS CodePipeline の API リファレンスCreatePipeline またはアマゾン ウェブ サービスのツールSDK セクションでプログラミング言語の create-pipeline アクションドキュメントを参照してください。

でテストおよびビルドの自動化 CodeBuild を の既存のパイプラインに追加する CodePipeline
  • CodePipeline コンソール

  • AWS CLI

  • AWS SDK

前提条件

  1. ビルドを計画する の質問に答えます。

  2. AWS ルートアカウントまたは管理者ユーザー CodePipeline の代わりに ユーザーを使用して にアクセスする場合は、 という名前の 管理ポリシーAWSCodePipelineFullAccessをユーザー (またはユーザーが属する IAM グループ) にアタッチします。AWS ルートアカウントは使用しないでください。このポリシーは、 CodePipeline でパイプラインを作成するためのアクセス許可をユーザーに付与します。詳細については、ユーザーガイドの「管理ポリシーをアタッチする」を参照してください。

    注記

    ポリシーをユーザー (またはユーザーが属する IAM グループ) にアタッチする IAM エンティティは、ポリシーをアタッチするために IAM でのアクセス許可を持っている必要があります。詳細については、ユーザーガイドの「IAM ユーザー、グループ、および認証情報を管理するためのアクセス許可の委任」を参照してください。

  3. AWS アカウントに CodePipeline 利用可能なサービスロールがない場合は、サービスロールを作成します。 はこのサービスロール CodePipeline を使用して、ユーザーに代わって AWS CodeBuildを含む他の AWSのサービスとやり取りします。例えば、 を使用して CodePipeline サービスロールAWS CLIを作成するには、IAM create-role コマンドを実行します。

    Linux、macOS、Unix の場合:

    aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Principal":{"Service":"codepipeline.amazonaws.com"},"Action":"sts:AssumeRole"}}'

    Windows の場合:

    aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"codepipeline.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}}"
    注記

    この CodePipeline サービスロールを作成する IAM エンティティには、サービスロールを作成するための IAM のアクセス許可が必要です。

  4. CodePipeline サービスロールを作成した後、または既存の CodePipeline サービスロールポリシーを特定したら、AWS CodePipeline「 ユーザーガイド」の「デフォルトのサービスロールポリシーを確認する」で説明されているように、デフォルトの CodePipeline サービスロールポリシーをサービスロールに追加する必要があります。まだロールのポリシーの一部でない場合は、追加する必要があります。

    注記

    この CodePipeline サービスロールポリシーを追加する IAM エンティティには、サービスロールポリシーをサービスロールに追加するアクセス許可が IAM に必要です。

  5. ソースコードを作成して、、 CodeCommitAmazon S3 CodePipeline、Bitbucket、 など、 CodeBuild および でサポートされているリポジトリタイプにアップロードします GitHub。 Amazon S3 ソースコードには buildspec ファイルが含まれている必要がありますが、このトピックの後半でビルドプロジェクトを定義するときにそのファイルを宣言できます。詳細については、「ビルド仕様 (buildspec) に関するリファレンス」を参照してください。

    重要

    パイプラインを使用してビルド済みのソースコードをデプロイする場合、ビルド出力アーティファクトには、使用するデプロイシステムとの互換性が必要です。