概要
- 書名: [改訂第3版]Jenkins実践入門
- 副題: ビルド・テスト・デプロイを自動化する技術
- 著者: 佐藤 聖規 and 和田 貴久 and 新井 雄介 and 米沢 弘樹 and 山岸 啓 and 岩成 祐樹
- 出版日: 2017-05-24
- 読了日: 2019-12-18 Wed
- 評価: ☆4
- URL: https://book.senooken.jp/post/2019/12/18/
評価
一流ハイテクチームで当たり前のように使われているCIの代表的なソフトであるJenkinsについて解説している。
Jenkinsの使い方について1冊まるごと書かれている本は本書が唯一であり,Jenkinsについて学ぶ上では外すすことができない本だろう。
書籍の構成は以下のとおりとなっていた。
- JenkinsとCIの説明
- Jenkinsのインストール・設定
- ビルドの自動化
- 開発環境の準備
- ビルド以外のテスト,カバレッジ,インスペクションなどの自動化など
Java製のサンプルプロジェクトを題材に,Jenkinsによる自動化の第一歩として,ビルドの自動化から始まり,徐々にテストやカバレッジなどビルド以外にも自動化するとよい作業を追加で設定していくという手順をとっていた。
それぞれの段階で必要なツールの簡単な使い方から設定方法が書かれており参考になった。
また,応用的な使い方としてPipelineやJenkinsのプラグイン開発についても言及があり,Jenkinsについて全体を知る上で必要な情報が網羅されていた。
引用
p. 26: 1.3.2 Jenkinsの歴史
JenkinsはもともとHudsonという名前で開発されており,開発元のSun Microsystems社のOracleへの買収などをきっかけに2010年にJenkinsに改名となった。Jenkinsの歴史がまとめられておりわかりやすかった。
p. 66: Column GitからJenkinsビルドをトリガーする
Gitの「ポストコミットフックスクリプト」からJenkinsのビルドを開始する方法が書かれていた。この方法でコミット時にビルドさせると,masterへのマージ時にビルドエラーやコーディング規約などのチェックもできていいなと思った。
p. 299: Column Xvfb PluginによるXvfbでのSeleniumの実行
GUI環境がインストールされていなかったり,画面の接続されていないLinuxマシン上で画面を表示する方法が解説されていた。
Jenkinsとは関係ないが,丁度VNCでモニターの接続されていないLinuxマシンで画面解像度を変更する方法を探しており,Xvfbで実現可能なことがわかり参考になった。
p. 314: Column Infrastracture as CodeではじめるインフラCI
なお、 Chefと Jenkinsを組み合わせたインフラ自動構築については本書の姉妹本である WEB+DB PRESS plusシリーズの『Chef実践入門―コードによるインフラ構成の自動化』に詳しく 書かれているので、興味があれば、 ぜひご一読ください。
インフラ自動構築についてはあまり興味なかったが,必要になったらここで引用されている本を読もうと思った。
p. 384: Column Continuous Deliveryとは?
Continuous Deliveryについて書籍『継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・ テスト ・ デプロイメントの自動化』に詳しい記述があります。 Jenkinsは Continuous Deliveryを実現する上で中核となるソフトウェアです。 ぜひ Jenkinsでワンクリックデプロイにチャレンジしてみてください。
CIのさらに一歩進んだやり方としてCDについて参考書籍が紹介されていた。
結論
ハイテクチーム・企業で当たり前のように使われているCIの代表的なソフトであるJenkinsについて網羅的に解説されている本だった。
Jenkinsについてきちんと解説されている本は少なく,日本語では本書が唯一の本だろう。IT技術者としてレベルを高めるために必要なCIの技術について本書で学べる。
Jenkins認定試験の参考書にもなりえる本で,Jenkinsを学ぶ上で必須の本だろう。
内容自体も基本的なことから応用的なところまで,実例を交えながら解説されていた。題材はJavaの開発プロジェクトであったが,ビルドツールなどを他に置き換えることで,C/C++やJavaScriptのプロジェクトにも応用できると思った。
コメント
[…] 以前書評を書いた「[改訂第3版]Jenkins実践入門」の第2章を参考に,CIツールのデファクトスタンダードであるJenkinsをUbuntu 18.04にwarファイルからインストールする。 […]