翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CodeBuild で EB CLI を使用する
AWS CodeBuild はソースコードをコンパイルし、単体テストを実行して、すぐにデプロイできるアーティファクトを生成します。CodeBuild を EB CLI をともに使用すれば、ソースコードからのアプリケーションの構築を自動化できます。環境の作成とその後のデプロイはビルドステップで始まり、続いて生成されるアプリケーションがデプロイされます。
注記
一部のリージョンでは、CodeBuild を使用できない場合があります。これらのリージョンでは、Elastic Beanstalk と CodeBuild を統合できません。
各リージョンで提供されている AWS のサービスの詳細については、「リージョン表
アプリケーションを作成する
CodeBuild を使用する Elastic Beanstalk アプリケーションを作成するには
-
アプリケーションフォルダに、CodeBuild ビルド仕様ファイル
buildspec.yml
を含めます。 -
Elastic Beanstalk に固有のオプションを持つ
eb_codebuild_settings
エントリをファイルに追加します。 -
フォルダで eb init を実行します。
注記
EB CLI を CodeBuild と共に使用する際には、アプリケーション名にピリオド (
.
) やスペース (
Elastic Beanstalk は、CodeBuild ビルド仕様ファイル形式を拡張して、次の追加設定を含めます。
eb_codebuild_settings:
CodeBuildServiceRole: role-name
ComputeType: size
Image: image
Timeout: minutes
CodeBuildServiceRole
-
ユーザーに代わって、依存する AWS のサービスを操作するために CodeBuild が使用できる AWS Identity and Access Management (IAM) サービスロールの ARN または名前。この値は必須です。これを省略すると、それ以降の eb create または eb deploy コマンドは失敗します。
CodeBuild のサービスロールの作成に関する詳細については、「AWS CodeBuild ユーザーガイド」の「CodeBuild サービスロールの作成」を参照してください。
注記
CodeBuild 自体でアクションを実行するためのアクセス許可も必要です。Elastic Beanstalk の管理ユーザーポリシー、AdministratorAccess-AWSElasticBeanstalk には、 CodeBuild アクションが必要とする、すべてのアクセス許可が含まれています。管理ポリシーを使用していない場合は、ユーザーポリシーで必ず以下のアクセス権限を許可してください。
"codebuild:CreateProject", "codebuild:DeleteProject", "codebuild:BatchGetBuilds", "codebuild:StartBuild"
詳細については、「Elastic Beanstalk ユーザーポリシーの管理」を参照してください。
ComputeType
-
CodeBuild ビルド環境で Docker コンテナによって使用されるリソースの量。有効な値は、BUILD_GENERAL1_SMALL、BUILD_GENERAL1_MEDIUM、BUILD_GENERAL1_LARGE です。
Image
-
CodeBuild がビルド環境に使用する Docker Hub または Amazon ECR イメージの名前。この Docker イメージには、コードを作成するために必要なすべてのツールとランタイムライブラリが含まれている必要があります。また、イメージは、アプリケーションのターゲットプラットフォームに一致する必要があります。CodeBuild では、特に Elastic Beanstalk での使用を意図した一連のイメージが管理および保守されています。それらのイメージのいずれかを使用することをお勧めします。詳細については、「AWS CodeBuild ユーザーガイド」の「CodeBuild に用意されている Docker イメージ」を参照してください。
Image
値はオプションです。これを省略すると、eb init コマンドはターゲットプラットフォームに最適なイメージの選択を試みます。さらに、インタラクティブモードで eb init で実行し、イメージの選択に失敗した場合、イメージの選択が求められます。初期化が正常に終了すると、eb init は選択されたイメージをbuildspec.yml
ファイルに書き込みます。 Timeout
-
CodeBuild ビルドがタイムアウトするまでの実行時間 (分)。この値はオプションです。有効な値とデフォルト値の詳細については、「CodeBuild でのビルドプロジェクトの作成」を参照してください。
アプリケーションコードのビルドとデプロイ
アプリケーションコードをデプロイする必要が生じると、EB CLI は常に CodeBuild を使用してビルドを実行し、生成されたビルドアーティファクトを環境にデプロイします。この処理は、eb create コマンドを使用してアプリケーションの Elastic Beanstalk 環境を作成するときと、後で eb deploy コマンドを使用してコードの変更を環境にデプロイするたびに発生します。
CodeBuild のステップが失敗した場合、環境の作成またはデプロイは開始されません。