AWS CodePipeline で AWS CodeBuild を使用してコードをテストおよびビルドする - AWS CodeBuild

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

AWS CodePipeline で AWS CodeBuild を使用してコードをテストおよびビルドする

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

次の表に示しているのは、タスクとその実行に使用できるメソッドです。AWS SDK を使用してこれらのタスクを実行することは、このトピックでは取り上げません。

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

  • AWS CLI

  • AWS SDK

  • CodePipeline コンソールの使用

  • AWS CLI の使用

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

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

  • AWS CLI

  • AWS SDK

Prerequisites

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

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

    注記

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

  3. AWS アカウントに CodePipeline のサービスロールがまだない場合は、作成します。CodePipeline は、このサービスロールを使用して、AWS CodeBuild を含む他の AWS のサービスとやり取りします。たとえば、AWS CLI を使用して CodePipeline のサービスロールを作成するには、IAMcreate-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 サービスロールのポリシーをサービスロールに追加する必要があります (」デフォルトの CodePipeline サービスの役割ポリシーを確認する()AWS CodePipeline ユーザーガイド(まだロールのポリシーの一部ではない場合)。

    注記

    この CodePipeline のサービスロールポリシーを追加する IAM エンティティは、サービスロールポリシーをサービスロールに追加するために IAM のアクセス許可を持っている必要があります。

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

    重要

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