Technote

by sizuhiko

CakePHPで学ぶ継続的インテグレーションが発売されます

先日の記事にも書きましたが、

春先ぐらいからBlogの更新が滞っていましたが、その要因となったアレが大分落ち着いてきたので、たまっていたネタを順番に書き出します。

アレが出ます。

ババーン ww とでかい画像を付けましたよ。

CakePHPで学ぶ継続的インテグレーション

共著者の

でも既に紹介されていますので、そちらを一読いただくと理解が深まります。

私は主に以下のあたりを担当しました。

  • Chapter 5 開発工程(1)
    • 5-1 開発の進め方
    • 5-2 ユーザーストーリーの定義
    • 5-3 機能実装
  • Chapter 6 開発工程(2)
    • 6-1 ステップの定義
    • 6-2 継続的インテグレーションの定義

上記以外でも、おおよそCakePHPに関連するところを書いたと思っていただければ。

これは何の本

タイトルの通り、と言いたいところですが、わからないという人のために補足すると

  • 継続的インテグレーションの入門書です
  • CakePHPでのアプリケーションの作り方を解説した本ではありません
  • サンプルアプリケーションの構築、自動テストの作成方法の解説にCakePHPを使っています

タイトルや見出しから内容が想像しずらいと思うので、私が書いた部分の継続的インテグレーションに関する技術的キーワードを列挙すると、以下のとおりです。

上記以外にアプリケーション構築用にBoostCake、CakeDC Usersプラグインも使っています。 自分が作ったプラグインであるBDDとFabricateを採用していますが、これは現在支援を行っている現場でも活躍しているので手前味噌というだけでなく、自動テストを継続していく上で役立つと思います。

私の記述したところの、ざっくりした解説は以下のとおりです。

  • ComposerとMigrationsプラグインを使うと、誰でも簡単に同じ環境を構築することができるようになります。
  • Environmentsプラグインを使うと、環境毎の設定切り替えや、振る舞いの制御を容易にできるようになります。
  • BDDプラグインを使うとCakePHPからBehatとの連携が容易になり、受入テストの自動化に取り組みやすくなります。
  • Fabricateプラグインを使うとFixtureを使ったテストデータの呪縛から解放されます。

これらは過去から現在に至るまで、私が様々なプロジェクトで経験したことを背景にしています。 もちろんプロジェクトごとに様々な背景があると思いますが、一度実践していただければ効果を体感していただけるのではないかと思っています。

また、PHP界隈ではまだBDDやATDDに関して、解説する本がなかったり、実践的な解説がなかったのですが、本書がこれらを導入するきっかけになると嬉しいなと思っています。

CakePHP以外ではどうなの

サンプルアプリケーションの構築にはCakePHPを利用していますが、上記の技術要素に関しては他のPHPフレームワークでも同様のものがあると思います。 もし、CakePHP以外のフレームワークに精通していれば、Behatを直接使ったり、データジェネレータにFakerの機能を使ったり、各フレームワークのマイグレーションや環境切り替えプラグインを使ったりできるのではないかと思います。 皆様の現場の状況に合わせて読み替えて、継続的インテグレーションを導入する参考にしていただければ幸いです。

いつ発売なの?

amazonでは2014/09/19(金)に発売です。

書店などでは多少前後することがあると思いますが、ぜひ一度手に取ってみてください。

また9/19は、茅場町Co-EdoにてCakeFest2014報告会を実施します。本会には共著者である@kaz_29さんも参加予定なので、著者サインを集めるチャンスです! 先月実施されたCakeFestではどんな事があったのか、CakePHP3の動向などを話しますので、ぜひこちらにも参加ください。

お知らせと感謝(追記)

CakePHP3の話題もあるなか、まだまだ現場ではCakePHP2を利用するケースもあると思います。 本書をきっかけにCakePHPをより学んでみたいなと思っていただけたら、私も共著者で参加したCakePHP2実践入門(amazonでチェック)を参考文献として手に取ってみてください。

こちらはちょうど2年ほど前の2012/09/29に発刊となったのですが、このたび 第3刷 の増刷が決まりました。

長い間CakePHP2の参考書として手に取っていただいているようで、本当に嬉しいです。ありがとうございます。