ビルド自動化
ソフトウェア開発 |
---|
中心となる活動 |
パラダイムとモデル |
方法論とフレームワーク |
開発支援 |
プラクティス |
ツール |
標準と機関 |
用語集 |
|
ビルド自動化(ビルドじどうか、英: build automation)は、ソフトウェアのビルドの作成を自動化するプロセスや、それに関連するプロセスである。自動化対象には、コンピュータのソースコードのバイナリコード(英語版)へのコンパイル、ライブラリコードのパッケージング、 自動化テストの実行などがある。
概要
歴史的には、ビルドの自動化はMakefileなどにより行われてきた。今日の自動化ツールには、大きく分けて2つの一般的なカテゴリがある[1]。
- ビルド自動化ユーティリティ
- このカテゴリには、Make、Rake、Cake、MSBuild、Ant、Maven、Gradle、BuildMasterなどのユーティリティが含まれる。これらのツールの主目的は、ソースコードのコンパイルやリンクなどの実行により、ビルド・アーティファクトを生成することである。
- ビルド自動化サーバー
- スケジュールまたはトリガベースでビルド自動化ユーティリティを実行するウェブベースのツールがある。継続的インテグレーションサーバーは、ビルド自動化サーバーの一種である。
自動化のレベルによって、以下のような分類が可能である。
- Makefileレベル
- Makeベースのツール
- Make以外のツールをベースとするツール
- ビルドスクリプト(またはMakefile)の生成ツール
- 継続的インテグレーションツール
- 構成管理ツール
- メタビルドツールまたはパッケージ管理ツール
- その他
それぞれの分類に含まれるソフトウェアの一覧は、ビルド自動化ソフトウェアの一覧(英語版)確認できる。
ビルド自動化ユーティリティ
ビルド自動化ユーティリティを活用すると、単純で何度も繰り返し実行するタスクを自動化できる。ツールを使用すると、指定したゴールに到達するために、正しく、指定した順序で、各タスクを実行するプロセスを計算してくれる。タスク指向のものとプロダクト指向の2種類のビルドツールがある。タスク指向のツールはネットワークの依存関係を特定のセットのタスクの観点から記述するのに対して、プロダクト指向のツールの場合は、ツールが生成するプロダクトの観点から記述する[2]。
ビルド自動化サーバー
ビルドサーバーは継続的インテグレーションサーバーが登場するはるか昔から存在しているが、インテグレーションサーバーは一般に継続的インテグレーションサーバーと同義であるのに対して、ビルドサーバーにARAツールやALMツールに組み込まれる場合がある。
サーバーの種類
- オンデマンド自動化サーバーでは、ユーザーがコマンドラインでスクリプトを実行する。
- スケジュール自動化サーバーでは、継続的インテグレーションサーバーがnightlyビルドを実行する。
- トリガー式自動化サーバーでは、継続的インテグレーションサーバーがバージョン管理システムへのコミットのたびにビルドを実行する。
脚注
[脚注の使い方]
関連項目
- アプリケーション・リリース自動化 (ARA)
- 継続的構成自動化(英語版)(CCA)
- 継続的インテグレーション(CI)
- 継続的デリバリー(CD)
- 継続的テスト(英語版)
- DevOps
- ビルド自動化ソフトウェアの一覧(英語版)
- 製品ファミリーエンジニアリング
- リリース・エンジニアリング(英語版)(RE)
- ソフトウェア構成管理(SCM)
- ユニットテスト
自動化・合理化・省力化 | |
---|---|
| |
製造・開発 | |
生活・飲食・育児・介護 | |
交通・運輸・郵便 | |
小売・飲食・宿泊 | |
医療・医薬品 |
|
建設・建物・インフラ |
|
出版・メディア・情報通信 |
|
農業・林業・漁業・鉱業 | |
金融・保険 | |
Category:オートメーション |