書籍をつつく133-継続的インテグレーション入門。継続的にバグをなくそう♪
継続的インテグレーション入門 開発プロセスを自動化する47の作法
この書籍はいいよ♪先ずは目次を見てみよう。
【目次】
まえがき マーチン・ファウラー まえがき ポール・ジュリアス 第1部 CIの背景─原則とプラクティス 第1章 始めよう 変更を起点としてビルドを実行する CIの機能 第2章 継続的インテグレーションの紹介 CIのある1日 CIの価値とは? CI導入を妨げるものは何か? 「継続的」なインテグレーションに必要なものは? CI導入の時期と方法は? CIと他の開発プラクティスの関係は? CI環境のセットアップにどれぐらい時間がかかるのか? 頻繁にコードをコミットする ビルドが失敗したコードをコミットしない 失敗したビルドをすみやかに修復する 開発者テストを自動化する すべてのテストとインスペクションを合格させる プライベートビルドを実行する ビルドが失敗したコードを取得しない 第3章 CI によるリスクの軽減 リスク:デプロイできないソフトウエア リスク:欠陥検出の遅れ リスク:プロジェクトの「見える化」不足 リスク:低品質なソフトウエア 第4章 変更を起点としたビルドの実行 ビルドを自動化する コマンド1つでビルドを実行する ビルドスクリプトをIDEから分離する ソフトウエア資産を集中化する 一貫したディレクトリ構造を作る 失敗しやすいビルドプロセスから始める 複数環境へのデプロイに対応する ビルドの種類とその起動方法 インテグレーションビルドマシンを使用する CIサーバーを使う 手動インテグレーションビルドを実行する 第2部 CIシステムの構築 第5章 継続的データベースインテグレーション データベースインテグレーションを自動化する ローカル環境でデータベースサンドボックスを使う バージョン管理リポジトリを使ってデータベース資産を共有する 開発者にデータベースを変更する権限を与える 失敗したビルドをチームで修復する 第6章 継続的テスト 単体テストを自動化する 結合テストを自動化する システムテストを自動化する 機能テストを自動化する 開発者テストを分類する 実行時間が短いテストを先に実行する 不具合に対してテストを書く 結合テストを再実行可能にする 1テストケースに1つのアサーション 第7章 継続的インスペクション テストとインスペクションの違い インスペクションツール実行の頻度 コードの複雑度を下げる 継続的なデザインレビューの実施 コードの複製を減らす コード網羅率を評価する 継続的にコード品質を評価する 第8章 継続的デプロイ 動作するソフトウエアを常にリリースできるようにする ビルドフィードバックレポートを作成する リリースのロールバックを可能にする 第9章 継続的フィードバック 適切なフィードバックとは何か 継続的フィードバック手段を利用する 付録A CIリソース 付録B CIツールの評価
どう?面白そうだよね♪この本はアジャイル開発における継続的インテグレーションについて書いてある本ピヨ♪みんな、継続的インテグレーションを知っているかな?継続的インテグレーションとは、簡単に言うとチーム開発における、コードのチェックアウト、ビルド、テストなどの一連の作業を継続的に行う事なんだ。
これを読んだ人の中には、そんなの当たり前じゃんって思う人が居ると思う。でも実際の開発現場では違うんだ。というのも開発チームで作業するとインテグレーションが意外と難しいからなんだ。ある程度以上の規模のシステムを開発する時には、複数の人がそれぞれの部分を担当して開発を進めている。その時、全てのコードをコンパイルしてテストを実行するのは意外と難しいピヨぉ。何故ならば、全員が正しいコードをコンパイルして、それを同時に統合するのが難しいからなんだ。複数の人が作業していると、例えば「ちょっと待って。今メソッドAが実装しきれていないの。」だとか「今バグ退治している最中だからコンパイルできないぜ」なんて事が起こる。それでもインテグレーションするには、全員の予定を聞いて、作業を常に同期しなくてはならない。これは疲れるし、生産効率が落ちるピヨぉ。
だけど、アジャイル開発では継続的にインテグレーションする事を推奨しているピヨ。その理由は、システムの不都合を早期に発見してバグが無いシステムを素早く作るためなんだ。でも、先ほど言った様に集団で作業するとインテグレーションは難しい。それをどうやって実現するのかと言う事と、継続的インテグレーションの考え方がこの本に書かれているんだ。
だけど注意しておくべき事が一つあるピヨ。それは、この本にはインテグレーションツールについての詳細な情報は書いていないピヨ。残念だけどインテグレーションツールそのものについては他書を当たる必要があるピヨ。でもツールの使い方だけでは使いこなせないと思うから、この本をお勧めするピヨ♪
昨今、素早くバグが無いシステムを作る事が求められているから開発チーム必携の本だとボクは思う。アジャイル開発を実践している人、いまいちアジャイル開発の効果が実感できない人、アジャイル開発に興味がある人、バグが無いシステムを作りたい人・・・などはこの本を読もう♪得るものは大きいと思う。
もっと本が知りたいという本好きは書籍レビュー目次と書籍レビューを見ると良いピヨ♪