Jenkins 実践入門改訂第 3 版
ジェンキンス ジッセン ニュウモン
ビルド・テスト・デプロイを自動化する技術
- 著者:
- 川口耕介 / 佐藤聖規(カワグチ, コウスケ / サトウ, マサノリ)
- 出版社:
- 技術評論社
- 出版日:
- 2017年06月
- ISBN:
- 9784774189284
- シリーズ:
- WEB+DB PRESS plus シリーズ
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
継続的インテグレーションに欠かせないツールである Jenkins。その導入から運用管理までを解説した定番書として大好評の『Jenkins 実践入門』が、ついに 2 系に対応しました。生みの親である川口耕介氏監修のもと、近年の開発環境の変化に合わせて内容を一新。インストールなどの基本から、JUnit によるテストといった内容はもちろんのこと、さまざまなソースコード管理システムとの連携やおすすめプラグインの紹介、さらには認定試験についても説明します。チームの一員として上手に迎えるための実開発のポイントがわかります。
技書の森解説
Jenkins を使った継続的インテグレーションを、導入から運用管理まで実務の手順で学ぶための本が『Jenkins 実践入門』改訂第 3 版です (川口耕介、佐藤聖規 監修、佐藤聖規、和田貴久、新井雄介、米沢弘樹、山岸啓、岩成祐樹 著、技術評論社 (WEB+DB PRESS plus)、2017 年 5 月 24 日発売)。副題は「ビルド・テスト・デプロイを自動化する技術」です。版元の概要は、導入から運用管理までを解説した定番書が 2 系に対応した版で、川口耕介の監修のもとで開発環境の変化に合わせて内容を一新したと説明しています。インストールなどの基本や JUnit によるテストに加えて、さまざまなソースコード管理システムとの連携、おすすめのプラグインの紹介、認定試験まで扱い、版元がすすめる読者は CI を取り入れようとしているエンジニアです。
全 13 章の構成、継続的インテグレーションの基礎から運用管理まで
第 1 章「継続的インテグレーションと Jenkins」で考え方と Jenkins の成り立ちを押さえ、第 2 章「インストールと設定」は Windows Server 2016、CentOS、Docker、Tomcat へのインストールと初期設定、Jenkins 1 系から 2 系へのアップデートを扱います。第 3 章「ジョブを作ってビルドする」と第 4 章「本番を想定して開発環境を準備する」で、GitHub と Maven、JDK、Eclipse を使うモデルプロジェクトを用意したあと、第 5 章「JUnit でテストする」、第 6 章「カバレッジを取得する」 (JaCoCo)、第 7 章「インスペクションを実施する」、第 8 章「コードステップ数をカウントする」と続きます。第 9 章「設定のポイント」はビルドの実行数の制御やユーザー管理、上流と下流のプロジェクト、パラメーター付きのビルド、結果の通知など、第 10 章「Pipeline の設定」は Jenkins Pipeline とは何か、その実行のしかた、高度な設定です。第 11 章「一歩進んだ活用法」はさまざまなソースコード管理システムとの連携、分散ビルド、Gradle、成果物のデプロイ、結合テストの自動化など、第 12 章「より便利に使うために」はプラグインの利用と開発、成果物の管理、ビューのカスタマイズ、コマンドラインからの操作を取り上げます。最後の第 13 章「安定して利用するための 6 つの運用管理」は、ログの確認、バックアップとリストア、ディスク領域の管理、チューニング、バージョンアップを経て、Jenkins 認定試験の節で終わります。
変更のたびに自動で検査を回す仕組みの背景
複数の開発者が同じリポジトリに変更を積み重ねると、各自の手元では動いていたコードが、合わせた途端にビルドできなくなったりテストが落ちたりすることがあります。変更を取り込むたびに共通のサーバーでビルドと検査を自動で走らせれば、壊れた変更を見つけるまでの時間が短くなり、原因の候補も直前の数件に絞れます。この仕組みを配布の工程までつないだものが CI/CD です。Jenkins はその自動化を担うサーバーとして、リポジトリへの変更の通知を受けて手順を起動し、結果を記録して知らせる役を受け持ちます。検査の中身には、テストの実行だけでなく、コードを動かさずに書き方の誤りや規約違反の候補を見つける 静的解析 のような確認も含められ、結果を毎回同じ形で残しておくと、品質の傾向を時間の経過とともに追えるようになります。手順を画面で設定するだけでなく、手順そのものをコードとして書いてリポジトリで管理する方式を取ると、設定の変更履歴を残してレビューできるという利点もあります。
Java の作例で読むための前提と刊行時点の環境
作例のモデルプロジェクトは GitHub と Maven、JDK、Eclipse を使い、テストは JUnit、カバレッジは JaCoCo で取得するため、Java と Maven によるビルドに触れた経験があると手順を追いやすくなります。インストール先として挙がる Windows Server 2016 や CentOS、画面と手順は 2017 年 5 月の刊行時点のもので、プラグインの名前や設定の画面には刊行後に変わったものがありうる前提で読む必要があります。また目次には、Jenkins 以外の CI サービスと比べて選ぶ章はありません。
社内で Jenkins を運用する担当者の判断材料
刊行に寄せた川口耕介の一言では、本書は佐藤聖規のチームが NTT データの現場のプロジェクトと日々接する中で培った経験から生まれたと紹介されています。Jenkins でジョブを作って動かすところまではできても、ユーザー管理やバックアップ、バージョンアップの手順を決めかねている担当者や、テストに続く確認を段階的に自動化へ組み込みたいチームにとって、導入から運用管理までを 1 冊でたどれる本書は手元の手順書の土台になります。CI と DevOps の本を広く見比べたい場合は、DevOps の本の選び方 も参考になります。
言及した記事 (7 件)
私からあなたへ 一人前のJavaエンジニアになるためのロードマップを送ろう
♡ 1783Java, 初心者, ロードマップ, 学習方法, 新人プログラマ応援Certified Jenkins Engineer (CJE) 2020を取得しました
♡ 5Jenkins, CI[03] docker-composeを活用して即座にJenkinsを立てて使ってみる ... WindowsPC を Slave として登録する
♡ 0Jenkins, Docker, docker-compose[02] docker-composeを活用して即座にJenkinsを立てて使ってみる ... 1マスタ、3スレーブ
♡ 0Jenkins, Docker, docker-compose[01] docker-composeを活用して即座にJenkinsを立てて使ってみる ... 1マスタ、1スレーブ構成
♡ 0Jenkins, Docker, docker-compose初心者向けCI/CD実践 - Part5 - CI/CDツールとその他ツールの併用例(インスペクションツール)編
♡ 0GitHub, テスト, Jenkins, JUnit, CICD初心者向けCI/CD実践 - Part4 - CI/CDツールとその他ツールの併用例(テストツール)編
♡ 0GitHub, テスト, Jenkins, JUnit, CICD
この本に興味がある方におすすめ
関連する本
関連記事
DevOps 本ガイド - CI/CD とインフラ自動化を学ぶ技術書の選び方
DevOps の文化と原則から CI/CD、IaC、オブザーバビリティまで学べる技術書の選び方と学習順序を紹介します。
テスト本ガイド - テスト設計を学べる技術書の選び方
テストの書き方からテスト戦略まで学べる技術書の選び方を紹介。テストピラミッド、TDD の正しい読み方、テストの ROI の考え方を解説します。
あの有名 OSS のコードは、この本の影響を受けている
広く使われているオープンソースソフトウェアの設計には、技術書と共通の語彙や原則が残っています。OSS のコードから辿れる影響と、似ているだけの例の見分け方を整理しました。