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

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

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

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

次の表に示しているのは、タスクとその実行に使用できるメソッドです。 AWS SDKs を使用してこれらのタスクを実行することは、このトピックの範囲外です。

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

  • AWS CLI

  • AWS SDKs

  • コンソールを使用する CodePipeline

  • AWS CLIの使用

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

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

  • AWS CLI

  • AWS SDKs

前提条件

  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 サービスロールを作成した後、または既存のロールを特定したら、 AWS CodePipeline ユーザーガイドの「デフォルトの CodePipeline サービスロールポリシーを確認する」で説明されているように、デフォルトの CodePipeline サービスロールポリシーをサービスロールに追加する必要があります。

    注記

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

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

    重要

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