じめに

『改訂新版 Jenkins実践入門――ビルド・テスト・デプロイを自動化する技術』より転載
2015年5月 佐藤聖規

みなさん、サービスやシステム開発の現場でこんなことに困っていませんか?

  • 「バグが多くてテストのたびに手戻りがたくさん発生する」
  • 「開発環境では実行できるのに、本番環境で実行できない」
  • 「ユーザや世の中の変化の速度が早すぎて、サービスへのフィードバックサイクルが間に合わない」
  • 「開発に使うツールがたくさんあって、どういうふうに組み合わせていいのかわからない」

これらの問題を解決し、ストレスのない開発スタイルと最高の品質を提供するのがJenkinsです。

Jenkinsは「継続的インテグレーション」という、ビルドやテスト、デプロイなどを自動化し、1日に何度も繰り返しながら開発をする手法を実践するためのソフトウェアです。これにより、問題の早期検診・早期治療が実現できます。Jenkinsを導入するとソフトウェアの変更を行いやすくなり、サービスのリリース頻度を上げることができます。変化の強い昨今のビジネス市場において、サービスのアジリティ(俊敏性)をあげて、ユーザーのニーズを反映することはビジネスの成功に大きく関わってきます。

本書の初版が発行された2011年はJenkinsの利用が増え始めた頃でした。それから3年半ほど経ちました。その間に2回の大規模なユーザカンファレンスや、数多の勉強会が開催されました。そこで発表された事例からわかるように、一般的なソフトウェア開発企業から、自動車産業をはじめとする製造業、セキュリティ企業など、多種多様な業種でJenkinsが利用されるようになってきたのです。今後もこの流れは加速していくでしょう。

Jenkinsは柔軟性が高く、工夫次第で多くの恩恵をもたらしてくれるでしょう。Jenkinsを使い始めると、そこにはまるでプロジェクトのための執事が24時間、プロジェクトのメンバーのために働き続けてくれるような錯覚に陥ります。単純作業はコンピュータに任せて、人は人にしかできない、より生産的な作業に集中できるようになります。ぜひ、本書を片手に、プロジェクト色に染めたJenkinsを加えてください!

本書の対象読者

本書ではJavaやバージョン管理システム、またコンパイル、単体テスト、デプロイといった用語などの説明はしません。ソフトウェアの開発で必要な基礎知識を持っていることを前提としています。

本書は次のような方に向けて書いています。

①Jenkinsや継続的インテグレーションを知らない方

Jenkinsや継続的インテグレーションを知らない人向けに

  • 「Jenkinsを導入するとどのような問題が解決できるのか」
  • 「Jenkinsを導入するとどのように開発スタイルが変わっていくのか」
  • 「Jenkinsを導入するにはどうすればよいのか」

を解説しています。本書の第1章から順番に読んでいただければ、理解が深まるでしょう。

②Jenkinsは知っているが、実プロジェクトでどのように使えばよいかわからない方

「Jenkinsのことは知っているが、実プロジェクトで使ったことがない」という方でも、いざ自分のプロジェクトでどのようにJenkinsを使い、どのような設定をすれば、より効果的にJenkinsが利用できるかがわかります。本書の第4章から、実際のJava開発プロジェクトを例に出して、サンプルコードやサンプルスクリプトを使いながら、Jenkinsの利用方法を紹介しています。

③Jenkinsはすでに使っていて、継続的インテグレーションをしている方

より便利にJenkinsを使えるように、Jenkinsの高度な設定や便利なプラグインを紹介しています。本書の第9章から、プラグインの紹介を中心に、高度な使い方を解説しています。

佐藤聖規(さとうまさのり)

とある会社でクラウドやアーキテクチャ,DevOpsなどに関するコンサルティングに従事。前職は株式会社 NTTデータで,Jenkinsやバージョンコントロールシステム,チケット管理システムのプロジェクト導入コンサルティングやトレーニング,それらの社内利用用途のクラウドの開発運用などに従事。他にはWebシステムのパフォーマンステスト・トラブルシューターや製造業向けシステムインフラ基盤のアーキテクトに従事。

認定スクラムマスター,認定スクラムプロダクトオーナーである。著書に『現場で使えるデバッグ&トラブルシュートJava編』(翔泳社),ペンネーム織田翔名義で『15時間でわかるGit集中講座』(技術評論社),『Java逆引きレシピ』(翔泳社)がある。記事寄稿やイベントでの講演を楽しみにしている。最近,フォースのダークサイドに堕ちそうになるも,フォースの覚醒によりライトサイドに戻る。

Twitter:@lino_s
ブログ:http://lino.hatenablog.jp