目次
1. はじめに
2. CodeBuildとは
3. CodeBuildの特徴
4. CodeBuildのコスト
5. 参考
はじめに
AWSでCI/CDを構築するために利用するCode兄弟についてまとめる。
今回は、AWS CodeBuildについて。
CI/CDについては別で詳しく解説するが、簡単なイメージ図は以下の通り。
CodeBuildとは
公式ドキュメントには以下のように書かれている。
AWS CodeBuild is a fully managed build service in the cloud. CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for popular programming languages and build tools such as Apache Maven, Gradle, and more. You can also customize build environments in CodeBuild to use your own build tools. CodeBuild scales automatically to meet peak build requests.
上記の文章を要約すると、以下のようになる。
- クラウドで動作するフルマネージドなビルドサービス
- ソースコードをコンパイルし、ユニットテストを行い、アーティファクト(Artifact)を生成
- Maven、Gradleなどの一般的なビルドツール用のパッケージを提供
- 独自のビルドツールも利用OK
- ピークのビルドリクエストに合わせてオートスケーリング
つまり、CodeBuildとは 「リリースのビルドプロセスを提供する、フルマネージドビルドサービス」 といえる。
CodeBuildはパイプラインのビルド、テストステージの役割を持っている。
※ビルド
ビルドとは、ソースコードからコンパイルを行ってバイナリコードに変換し、リンクによってアーティファクトを作成する流れ。
この流れを理解するにはピヨ太さんのサイトが大変参考になる。ここでは私が理解した内容をイメージで説明するが、詳しくはピヨ太さんのサイトを参考にしていただきたい。
※アーティファクト(Artifact)
ビルドによって生成されてたファイル。
狭義の意味では、コンパイルにより生成されたバイナリコードをリンクして実行可能な状態にしたファイルのこと。
広義の意味では、ビルドプロセスによって作成された配布パッケージ、WARファイル、ログ、レポートなどを指す。
CodeBuildの特徴
フルマネージドサービス
CodeBuildはフルマネージドサービスであるため、サーバーのセットアップ、パッチ適用、更新、管理などの手間がなくなる。また、リクエスト量が多くなっても対応できるスケーラビリティと、ビルドした分にだけコストが発生する従量課金も他のマネージドサービスと同様である。
従量課金
CodeBuildは利用した分にだけ料金がかかる、従量課金を採用している。これは、スタートアップに対する心理的な壁が取り除かれることに寄与している。
対象ソース
ビルド対象のソースは以下から選択できる。
- S3バケット
- GitHub Enterprise
- CodeCommit
- Bitbucket
- GitHub
上記から分かる通り、AWSのサービスだけでなくGitHubやBitbucketも利用可能である。
CodeBuildの料金
公式サイトには以下のように記載されている。
- 従量課金を採用しているため、前払いや最低料金はなし
- 使用したリソースにのみ料金発生
- ビルド送信から終了までの時間で分単位で計算
- コンピューティングタイプにより料金が異なる。
コンピューティングタイプはリージョンによっても異なる。詳しくは公式サイトを確認してほしい。
参考
ビルドアーティファクトの管理
ビルドアーティファクト|TeamCity オンプレミスドキュメント
AWS CodeBuild
AWS CodeBuild ユーザーガイド
Code兄弟シリーズ