AWS CodeBuild は完全マネージド型のビルドサービスです。ソースコードの場所を指定し、ビルド設定を選択するだけで、CodeBuild によってビルドスクリプトが実行され、コードのコンパイル、テスト、およびパッケージングが行われます。プロビジョニングおよびスケールするためのサーバーはなく、ソフトウェアをインストール、設定、および操作する必要もありません。

AWS CodeBuild が一般公開されました

AWS CodeBuild を無料で試す

AWS 無料利用枠にて、AWS CodeBuild の build.general1.small を 1 か月あたり 100 ビルド分ご利用いただけます。

AWS 無料利用枠の詳細はこちら »

ビルドとテスト

AWS CodeBuild では、タスクの完了に必要なオペレーティングシステム、プログラミング言語ランタイム、ビルドツール (Apache Maven、Gradle、npm) が含まれる、事前設定されたビルド環境でビルドが実行されます。ユーザーが行う必要があることは、ソースコードの場所を指定し、使用するビルド環境やビルド中に実行されるビルドコマンドなど、ビルドの設定を選択ことのみです。AWS CodeBuild によってコードがビルドされて、アーティファクトが Amazon S3 バケットに保存されます。または、ビルドコマンドを使用して、アーティファクトをアーティファクトリポジトリにアップロードできます。AWS CodePipeline、AWS マネジメントコンソール、AWS CLI、または AWS SDK を使用して、ビルドプロジェクトを作成、管理、および開始できます。

事前設定されたビルド環境

AWS CodeBuild では、Java、Python、Node.js、Ruby、Go、Android、および Docker 用の環境を利用できます。

事前設定されたビルド環境の一覧については、こちらを参照してください。

ビルド環境のカスタマイズ

自分のビルド環境を AWS CodeBuild に持ち込んで使用できます。ビルド用のランタイムとツールを Docker イメージにパッケージ化して、それを公開された Docker ハブリポジトリまたは Amazon EC2 Container Registry (Amazon ECR) にアップロードできます。新しいビルドプロジェクトを作成する際に Docker イメージの場所を指定すると、CodeBuild によりそのイメージがプルされ、ビルドプロジェクト設定として使用されます。


設定可能な項目

ビルドコマンドの指定
ビルドツールパッケージのインストール、ユニットテストの実行、コードのパッケージ化など、AWS CodeBuild が実行する特定のコマンドを定義できます。ビルド仕様は YAML ファイルで指定し、ビルドの各フェーズで実行するコマンドやその他の設定を選択できます。Apache Maven、Gradle、または npm を使用するビルドといった一般的なシナリオ向けのビルド仕様のサンプルファイルがあるため、すぐに CodeBuild の使用を開始できます。

ビルド仕様のサンプルファイルについては、こちらを参照してください。

コンピューティングタイプの選択
開発ニーズに最適なコンピューティングタイプを選択できます。コンピューティング性能を CPU とメモリの容量が異なる 3 つのレベルから選択できます。ビルドを短時間で実行する必要がある場合はコンピューティング性能が高い CPU とメモリを選択できます。または、ビルドを実行するのに最低限必要な CPU とメモリを選択することもできます。

ソース統合の選択
AWS CodeBuild では、いくつかの方法でビルドを開始できます。例えば、AWS CodeCommit、GitHub、または Amazon S3 に接続してから、CodeBuild でビルドを開始できます。また、AWS CodePipeline を使って CodeBuild とソースリポジトリに接続し、変更をコミットするたびにビルドを自動的に開始することもできます。


統合的統合および継続的デリバリーのワークフロー

AWS CodeBuild のオンデマンドコンピューティングと従量課金制モデルにより、コードをより頻繁にビルドして統合できるようになります。これにより、開発プロセスの初期段階でバグを発見し、簡単なバグの修正を実行できます。CodeBuild のソース統合、ビルドコマンド、または Jenkins 統合を使用して、CodeBuild を既存の継続的統合および継続的デリバリー (CI/CD) ワークフローに統合できます。また、CodeBuild は、CI/CD の実施に役立つ AWS コードサービスファミリーの一部です。AWS CodePipeline に CodeBuild をプラグインして、ソースリポジトリに変更をコミットするたびに CodeBuild でコードのビルドとテストを行うよう自動化できます。AWS CodePipeline ウィザードを使用してソースリポジトリに接続してから、CodeBuild をビルドプロバイダーとして選択することで、この CI ワークフローを作成できます。

CodePipeline で、CodeBuild がビルドを完了した後にロードまたはユーザーインターフェイスのテストを開始できるよう、サードパーティ製テストツール (BlazeMeter、Ghost Inspector など) を統合することにより、継続的統合のワークフローを継続的デリバリーに簡単に拡張できます。次に、AWS CodeDeployAWS Elastic Beanstalk など、AWS CodePipeline と統合されたサービスを使用して、インスタンスまたはオンプレミスサーバーにデプロイできます。

AWS CodePipeline および AWS CodeBuild
AWS CodePipeline および AWS CodeBuild

AWS CodePipeline のスクリーンショット。このパイプラインでは、AWS CodeCommit からソースコードがプルされ、AWS CodeBuild でコードがビルドされ、AWS CodeDeploy でコードがデプロイされます。

AWS CodePipeline を使って AWS CodeBuild を実行する
(拡大イメージを見る)


セキュリティとアクセス権限

ビルドアーティファクトは、AWS Key Management Service (KMS) で管理されるお客様固有のキーを使って暗号化されます。AWS CodeBuild は AWS Identity and Access Management と統合されているため、ビルドへのアクセス権限を持つユーザーや AWS リソースの制御をきめ細かく設定できます。


モニタリング

AWS マネジメントコンソール、AWS CLI、AWS SDK、および AWS API を使用して、ビルドの詳細情報を表示できます。AWS CodeBuild では、ビルドの開始時刻と終了時刻、ビルドのステータス、コミット ID、ブランチといった情報が表示されます。また、CodeBuild では、ビルドログが Amazon CloudWatch ログにストリーミングされます。

AWS CodeBuild
AWS CodeBuild

(拡大イメージを見る)