ビルド自動化(ビルドじどうか、英: build automation)は、ソフトウェアのビルドの作成を自動化するプロセスや、それに関連するプロセスである。自動化対象には、コンピュータのソースコードのバイナリコードへのコンパイル、ライブラリコードのパッケージング、 自動化テストの実行などがある。
歴史的には、ビルドの自動化はMakefileなどにより行われてきた。今日の自動化ツールには、大きく分けて2つの一般的なカテゴリがある[1]。
自動化のレベルによって、以下のような分類が可能である。
それぞれの分類に含まれるソフトウェアの一覧は、ビルド自動化ソフトウェアの一覧確認できる。
ビルド自動化ユーティリティを活用すると、単純で何度も繰り返し実行するタスクを自動化できる。ツールを使用すると、指定したゴールに到達するために、正しく、指定した順序で、各タスクを実行するプロセスを計算してくれる。タスク指向のものとプロダクト指向の2種類のビルドツールがある。タスク指向のツールはネットワークの依存関係を特定のセットのタスクの観点から記述するのに対して、プロダクト指向のツールの場合は、ツールが生成するプロダクトの観点から記述する[2]。
ビルドサーバーは継続的インテグレーションサーバーが登場するはるか昔から存在しているが、インテグレーションサーバーは一般に継続的インテグレーションサーバーと同義であるのに対して、ビルドサーバーにARAツールやALMツールに組み込まれる場合がある。
サーバーの種類