2015年、Bakerは "CakePHPで学ぶ継続的インテグレーション" を読んでCI環境を導入しよう

個人的通称「CakeCI本」ですが、やっと年末に読み終わったので、CakePHP Bakerの視点から紹介したいと思います。

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

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

あくまでBakerの視点からです

あくまでBakerの視点からです

Bakerでなくても十分有用です。ただ、Bakerだとさらに有用です(個人的見解)。

テストが気になるBakerにとってとてもありがたいCI入門書

まず、CakeCI本を一言で表すならば、 「BakerがCI環境を実践的に構築できる本」です。

2015年1月2日、CakePHP3のRC1がリリースされました

今なお進化をし続けるCakePHPですが、現在はCakePHP2系が主流と言えるでしょう。

そして、今回の2から3への進化の大きさからも、しばらくはCakePHP2が主流であり続けると思います。

CakePHP2は、数々のプロジェクトで実戦投入されてきたと思います。またこれからも投入されるでしょう。

その中で、世の中の他のプロジェクトと同様に、テストの重要性やCIの重要性が説かれ、その環境の実現や運用に苦労した人は多いと思います。

CakePHPは2系からテスティングフレームワークPHPUnitとなりテスト環境が構築しやすくなったとはいえ、 例えばRuby on Railsの世界と比べるとまだそのための情報が少ないと言わざるをえません。

CI環境と言ったらなおさらです。(そういえば、SaaS型CI環境のTravis CIもRubyから対応されたはじめたのを覚えています。)

CakeCI本の2-2-2に書かれている「テストに関するネガティブイメージ」もなかなかクセモノです。

そういった悩みを持つBakerにとって、CakeCI本は「今」「CakePHP2で」一直線に実践的なCI環境を構築するためにとても良いチュートリアルになってくれると思います!

個人的「BakerがCakeCI本を読むにあたっての心構え」

個人的な、「CakeCI本を読むにあたっての心構え」を共有しておきます。

1. 飛ばせるところは飛ばしていい

CI環境を構築して体験することがメインだと思います。

まずはちゃっちゃと環境構築してしまってCIの良さを体験しましょう。

細かいところや知っているところは後で!読み物的に読みましょう。

2. 知らない新しい技術がでてきても気にしなくていい

「Chef」や「Vagrant」といった新しい技術が出てくることに身構える必要はありません。

CakeCI本においては、ただ、CI環境を構築して体験するための便利ツールとして使っています。

CI環境を体験した後に「そういえばあのツール便利だったな」と初めて気にすればいいと思います。

3. 「CI環境が構築できなくてもいい」と思えばいい

とはいえ、CI環境構築と体験まではちょっと長い道のりです。

なぜならCakeCI本を読んでCI環境を構築することには、あなたのプロジェクトで運用するのに十分すぎるくらいのCI環境が作れる体験が詰まっているからです。

もしかしたら最初は途中で挫けてしまう可能性もあるかもしれませんが、そこはCakeCI本、Bakerのための本(個人的見k)ですので、読んだところまででも十分な情報があります(これは本当に断言できます)。

「また気になったらはじめればいいや」というくらいの気持ちでOKだと思います。

各章感想ちょっとだけ

各章の感想をちょっとだけ。どんなことが書かれていそうかは、想像してみてください。

1章 2章

  • CIの中ででてくるいろいろな単語の意味をしれっと体系的に教えてくれている。ちょっと知ったかぶりしたくなる

3章

  • 自分はCapistrano2を使っているが、Capistrano3の紹介と実践(7章)があるのはうれしい。
  • 弊社テスターがTurnipを勉強しているので、Behatの紹介はうれしい。Minkと連携してSelenium WebDriverが使えるのは知らなかった(で、実践が6章から)
  • インスペクションツールの網羅的紹介や使い方の説明はうれしい。ほとんど導入できていないので、使ってみてみようと思う

4章

  • Envionmentsはなかなか良さ気。独自実装でやっていた方法と同じ感じ(最近はdotenvを利用中)。
  • CI用環境用のbootstrap.phpを持つのはとても良いアイデア

5章-6章

7章、全体

  • CIを運用しつづけることで今後に起こりそうなことがたくさん。悩むところまでいってみたい。
  • テストの重要性やアジャイルにおけるドキュメントの立ち位置の経緯など、ワンセンテンスがコラム的で面白い
  • これだけ情報が詰まったCI環境構築チュートリアルはない

というわけで

2015年、あなたのCakePHPプロジェクトにCI環境を!

最後に

著者の皆様お疲れ様でした!

また、"CakePHPで学ぶ継続的インテグレーション" を送ってくださった kaz29 さんありがとうございました!