入門Jenkins

概 要

継続的インテグレーションを実現するためのツール「Jenkins」の活用法がわかるガイドブックです。本書では、Jenkinsに関する基本的な知識はすでに持っているが、自分が取り組んでいる製品開発やプロジェクトでJenkinsを活用したいという技術者を対象に、具体的な活用事例を紹介しています。Androidアプリ開発におけるマルチターゲットビルドの実現、Ruby on Railsアプリ開発におけるコードメトリクスや分散ビルド、Google発のコードレビューシステム「Gerrit」との連携、プロジェクト途中でCIを導入する方法など、実際のプロジェクトに活かせる事例を紹介します。書籍内で利用しているシステムを収めたVirtualBox仮想イメージのダウンロードサービス付き。

著者 末広尚義、竹内一成、太田健一郎、西川茂伸
価格 本体2400円(税別)
ISBN 978-4-7980-3530-7
発売日 2012/9/25
判型 A5
色数 1色
ページ数 320
CD/DVD
対象読者 中級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第I部 継続的インテグレーション入門

第1章 CI(継続的インテグレーション)とは

1.1 夜間ビルドとスモークテスト

1.2 アジャイル開発の流行とCIの登場

1.3 CIのメリット

1.3.1 欠陥の早期検知

1.3.2 手作業によるミスの低減

1.3.3 時系列品質の可視化

1.4 CIの構成要素

1.4.1 バージョン管理システム

1.4.2 ビルドツール

1.4.3 CIツール

1.4.4 テストツール

1.4.5 コードカバレッジツール

1.4.6 コードインスペクションツール

1.4.7 コードレビューシステム

1.5 CIの成熟度モデル

1.5.1 ビルドサーバーがなく、手動ビルド

1.5.2 夜間ビルド

1.5.3 夜間ビルドと基本的な自動テスト

1.5.4 メトリクスの導入

1.5.5 TDDなどの他のベストプラクティスへの取り組み

1.5.6 自動受け入れテストへの取り組み

1.5.7 継続的デプロイ

第II部 Jenkins入門

第2章 Jenkinsとは

2.1 Jenkinsの生まれた背景と歴史

2.2 CIツールとしてのJenkinsのメリット

2.2.1 インストールの容易性

2.2.2 使いやすいWebインタフェースによる運用の容易性

2.2.3 豊富なプラグインによる機能の拡張

2.3 Java EE以外での活用

第3章 学習環境について

3.1 VirtualBox仮想イメージの導入

3.1.1 学習環境に必要なハードウェアスペック

3.1.2 学習環境

3.1.3 学習環境でのシェルのプロンプト

第4章 Jenkinsの導入

4.1 Ubuntu 12.04への導入

4.2 OS X Lionへの導入

4.3 Windows 7 Professionalへの導入

4.4 Hello Worldジョブの作成と動作確認

第III部 Jenkinsの実践活用例

第5章 Android開発でのJenkinsの導入と活用

5.1 AndroidアプリケーションとJenkins

5.2 Androidのテストにおけるツール紹介

5.3 プロジェクトの構成

5.4 Androidプラグインの導入

5.4.1 JDKの導入

5.4.2 Android Emulator Pluginの導入

5.5 自動ビルド

5.6 エミュレーターでのmonkeyを利用したテスト

5.7 エミュレーターで複数バージョンの自動テスト

5.8 monkeyrunnerを使った自動テスト

5.9 MonkeyRecorderを利用したテストの記述

5.10 複数実機での自動テスト

第6章 Androidに学ぶ実践的開発プロセス

6.1 Gerrit連携による実践的開発プロセス概要

6.1.1 Gerritとは

6.1.2 Gerritの特徴/Jenkins連携:Gerrit Trigger Plugin

6.1.3 Gerritを利用した開発フロー

6.1.4 Gerritを採用するメリット

6.2 ユーザー

6.2.1 レビューア

6.2.2 レビューイ

6.3 管理者

6.3.1 Gerritの導入

6.3.2 Gerritの構成

6.3.3 Gerritの導入

6.3.4 プロジェクトの設定

6.3.5 Gerritのカスタマイズ

6.4 その他の話題

6.4.1 日本語化

6.4.2 検索機能詳細

6.4.3 認証機能

6.4.4 CUIクライアントrepo、ssh

第7章 Ruby on Railsを用いたアプリケーションでのJenkins実践

7.1 Ruby on Railsでの自動テスト環境

7.1.1 Ruby環境セットアップ

7.1.2 Ruby on Railsサンプルプロジェクトの作成

7.1.3 Rails開発時のテストに便利なgemの紹介

7.2 Ruby on Railsアプリケーションをビルドする(自動テスト)

7.2.1 Ruby、Railsにおけるビルドとは

7.3 Ruby on Railsアプリケーションをビルドする(コードインスペクション)

7.3.1 Ruby、Railsにおけるコードインスペクション

7.4 Ruby on Railsアプリケーションをビルドする(ドキュメント生成&デプロイ)

7.4.1 Ruby、Railsでのドキュメント生成

7.4.2 Ruby、Railsでのデプロイ

7.5 Ruby on Railsアプリケーションをビルドする(分散ビルド)

7.5.1 分散ビルドとは

7.5.2 ビルドの分割

7.5.3 自動テストとコードインスペクションの分割

7.5.4 自動テストの種類での分割

7.5.5 ビルドフローの起点の設定とフローに潜む問題の解決

7.5.6 分散ビルドのためのノードの作成

7.5.7 リポジトリを公開する

7.5.8 分散ビルド

第8章 プロジェクト途中でJenkinsを導入する(Catalyst)

8.1 サンプルアプリケーションの紹介と導入

8.2 Jenkinsでのサンプルアプリケーション実行

8.3 自動化タスクがまるで存在しない場合

8.3.1 コードインスペクションツールとメトリクスツールを

ユニットテストとして組み込む

8.3.2 ユニットテストとは別にコードインスペクションツールと

メトリクスツールを組み込む

8.3.3 テストドライバーの自動生成

8.4 自動テストがあるが、問題を抱えている場合

8.4.1 時間が経つとコードを変更しなくても失敗するテストに対する

クラス側のリファクタリング

8.4.2 Test::MockObjectによるデータベースから独立させた

Modelクラスのロジックのテスト

8.4.3 Test::Classによるまとめて失敗してしまう自動テストの解決

8.4.4 DBD::Mockの導入と注意点

8.4.5 Test::mysqldによる独立したデータベーステスト

PR

秀和システム