【発売のお知らせ】CakePHPで学ぶ継続的インテグレーション(9/19)
最近めっきりブログ更新頻度が減っててすいませんすいません。 ということでタイトルの通りなのですが、このたび9月19日に「CakePHPで学ぶ継続的インテグレーション」(インプレス)が発売になりますのでお知らせいたします。
本の表紙はこんな感じになります。発売までまだ2週間くらいありますが、既にAmazonで予約を開始しています。
今回は、CakePHPのコミュニティで積極的に活動されている渡辺さんにお誘いいただき2月くらいに着手を開始しました。確か2012年に福岡で行われたPHPMatsuriが渡辺さんにお会いした最初だと思うのですが、そのときに話をした、CakePHP+Jenkinsによるアジャイル開発があったのでお誘い頂いたのかなーと思っています。こういうのって何がキッカケになるか分かりませんねー。
で2月に開始はしたのですが、Chef実践入門を抱えてたりしてすごく後手を踏んでしまい5月から8月までずっと追い込みをしているような感じでした。他の執筆者は渡辺さんの他に、永和システムマネジメントでCakePHPの案件をいっぱいやっていてプラグインもたくさん作っている岸田さん、業務でPHPを使いまくっている穴澤さんです。
最近は(いやかなり昔からか)PHPでも継続的インテグレーションくらい当たり前ではあるのですが、本書では、これから着手していく方向けに基本的な考え方から解説し、その上で実践編として、実際にVagrantで開発環境、CI環境、デプロイ環境を立ち上げて、自分の環境で開発、CI、デプロイの流れまで全部を試していけるような形になっています。(なのでPHPの本なのにも関わらず、ChefのクックブックとかCapistranoのデプロイスクリプトのようなRubyのコードも登場します)
これを一通りやれば初心者の方でもだいたいの流れが分かって自分の開発現場で導入できるようになると思います。
原稿については毎度のことながらGitHubのプライベートレポジトリで管理し、記述はマークダウンで行いました。 GitHubに原稿をプッシュするたびにCIサーバでhtml形式やepub形式にビルドし、執筆者と編集者のDropboxに配信するといういつもの仕掛けになっています。他の執筆者と会ったのは最初のキックオフ1回だけで、あとは全部オンラインでの作業でした。次に会うのは打ち上げの寿司の席のはずです。
以下目次です。
- Chapter 1 概論
- 1-1 継続的インテグレーション
- 1-2 ビルドとは?
- 1-3 得られるメリット
- 1-4 導入タイミング
- Chapter 2 導入
- 2-1 バージョン管理
- 2-2 テストの自動化
- 2-3 インスペクションの自動化
- 2-4 ドキュメント生成の自動化
- 2-5 デプロイの自動化
- 2-6 フィードバック
- Chapter 3 使用ツール
- 3-1 バージョン管理システム
- 3-2 プロビジョニングとデプロイ
- 3-3 開発環境向けツール
- 3-4 テスト・インスペクションツール
- 3-5 ドキュメント自動生成ツール
- 3-6 継続的インテグレーションツール
- 3-7 パッケージ管理ツール
- Chapter 4 環境構築
- 4-1 環境の説明
- 4-2 環境設定
- 4-3 サンプルアプリケーションの環境構築
- Chapter 5 開発工程(1)
- 5-1 開発の進め方
- 5-2 ユーザーストーリーの定義
- 5-3 機能実装
- Chapter 6 開発工程(2)
- 6-1 ステップの定義
- 6-2 継続的インテグレーションの定義
- Chapter 7 デプロイと運用
- 7-1 デプロイ
- 7-2 継続的な機能追加
- 7-3 継続的なテスト実行
- 7-4 ソースコード品質の維持