CircleCIでお手軽にCI環境をつくる

最近はCIプラットフォームが充実していて、Travice CI、Wercker、Droneなど様々なプラットフォームが開発されています。
最近はCircleCIを使っているのですが、なかなか便利です。

CircleCIの便利な点

CircleCIの便利な点は特別な設定をせずにテストコードさえあればCIができてしまうことです。
CircleCIにアカウントを作って、CIを行うリポジトリを設定すればOKです。
リポジトリにpushするとCIが実行されます。
ソースコードからbundle installなどの必要な前処理をしてくれるので、CIを行うための前準備的な設定が必要ありません。

私はgit_find_commiterphp-syntax-checkでCircleCIを使っています。

注意点

デフォルトのRubyのバージョンが古いので(マニュアルによるとUbuntu 12.04 and Ubuntu 14.04 build imagesのもの)、Ruby1.9から導入されたキーワード引数など比較的新しく導入された機構を使うと構文エラーが発生することがあります。
その場合はcircle.ymlファイルにRubyのバージョンを設定できます。

1
2
3
machine:
ruby:
version: 2.3.0

また、bundlerのバージョンでエラーが発生することがありました。
その場合は、以下のようにバージョンを指定することができます。

1
2
3
dependencies:
pre:
- gem install bundler -v 1.12.5

circle.ymlの構文についてはドキュメントを参考にしてください。