コードのビルドとテスト

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、.NET Core for Linux、および Docker 用のビルド環境を利用できます。

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

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

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

設定可能な項目

ビルドコマンドの指定

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

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

コンピューティングタイプの選択

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

ソース統合の選択

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

継続的統合および継続的配信のワークフロー

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

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

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

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

モニタリング

AWS CodeBuild コンソール、AWS CLI、AWS SDK、および AWS API、または Amazon CloudWatch を使用して、ビルドの詳細情報を表示できます。AWS CodeBuild には、ビルドの開始時間、終了時間、ステータス、コミット ID などの情報が表示されます。CodeBuild は、ビルドメトリクスのストリーミングと、CloudWatch へのログ記録も行います。CloudWatch を使用して、カスタムダッシュボードの作成、CloudWatch アラームの設定、ビルド問題のトラブルシューティング、またはビルドログの調査を行うことができます。

通知の受信

ビルドプロジェクトに影響を及ぼすイベントについて通知を作成することができます。通知は Amazon SNS 通知という形で送信されます。各通知には、ステータスメッセージに加えて、その通知が生成される原因となったイベントが存在するリソースへのリンクも含まれます。

AWS CodeBuild 料金の詳細

料金表のページを見る
構築の準備はできましたか?
AWS CodeBuild の使用を開始する
ご不明な点がありますか?
お問い合わせ