Jenkins | |
John Ferguson Smart Sky株式会社 玉川 竜司
オライリージャパン 2012-02-22 |
Continuous Integration(CI)ツールは皆さん使われているだろうか。
CIツールはいわば、ITの開発をIT化するためのツールであり、IT製品であるコンピューターソフトウェアの生産と、品質管理工程を自動化するための基板となるのがCIツールと言われているものだ。
CIが行うことはだいたい次のようなことになる、生産資源であるソフトウェアソースコードを倉庫であるソースコートリポジトリから出庫し、ビルドプロセスと呼ばれる、生産工程にそのソースコードを流し、動作するコンピュータソフトウェアとして製品化し、生産完了した製品を梱包する(パッケージング)、あるいはさらに出荷(デプロイ)までし、且つその間に品質管理のためのサンプリング、分析まで行う。また、その工程内のどこかで異常があれば、生産ラインを停止させ、異常を解析できるきっかけを与える。
個々の工程ではそれぞれ専用のツールが使用されるが、それらをつなぎ合わせて、工程全体を監視し、制御するのがCIツールとなる。
いわば、CIツールを導入していないソフトウェア開発現場は、自動化されておらず、数理的且つ客観的な品質評価もされていない、近代化以前の家内制手工業の工場(こうば)のままでいることになる。
そのようなCIツールとして今注目を浴びているのがJenkins(旧Hudson)だ。そのJenkinsを扱った書籍がオライリーから出版された。
ただ、この本は少々変化球だ。
まず、Jenkinsが標準でサポートするSCM/VCSはCVSとSubversionだが、この本ではGitの使用を前提としているし、GitHubの使用まで念頭に含まれている。通常の入門書であれば無難にSubversionを使用した説明で進んでいきそうなものだが、筆者はあえて(ある意味面倒くさい)選択的にGitを使用した説明をしている。
また、ビルドの自動化だけで無く、単体テスト、静的解析や、分散ビルドについてもページを割いており、本格的なプロジェクトでの運用を視野に入れた方でJenkinsのしようについて解説している。
こうしたことから入門書としてして本書を使用するのは不適切だ。本書に書かれているのは実運用の基礎であって、入門では無い。
Cruse Controlや他のプロプライエタリな自動ビルド環境の構築や運用の経験があり、Jenkinsも使用しようとしている者、Subversionを使用してきたが、Gitを使用したいと考えている者に適切だし、お勧めする。
CIの導入、運用の経験が無く、Jenkinsを使い始めようという方には、以下をお勧めする。
Jenkins実践入門 ~ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus) | |
佐藤 聖規 和田 貴久 河村 雅人 米沢 弘樹 山岸 啓
技術評論社 2011-11-11 |
コメント