GitHubで利用できるCIのひとつ、Werckerの基礎知識についてまとめる
##1.Werckerとは
2012年にオランダで誕生したCI-as-a-Service。リポジトリへのソースコミットをトリガーとしてアプリケーションのビルド、テスト、デプロイを自動化できるサービス。読み方は「ワーカー」。
github、bitbucketで利用することができる。
##2.特徴
Werckerは、リポジトリのルートに「wercker.yml」を準備し、その中にテストの実行環境やデプロイコマンドをあらかじめ記載しておくことによりソースがコミットされたタイミングで自動的に記述された処理を行ってくれる。
Werckerでは、その実行環境を"box"、コマンド群を"step"として自作することができ、それを「Wercker Directory」に登録しておくことで様々なテストから実行環境やコマンド群を呼び出すことが出来る。
また、実行環境であるboxにはデフォルトで用意されたもの以外にも自分で用意したdockerイメージを設定することも出来たりと、設定の自由度が高いのが特徴。
##3.仕組み
Werckerには"パイプライン"という概念がある。
パイプラインとは、1つのCIプロセスを複数のパイプラインに分割して組み合わせる機能のことである。Werckerでは"build"フェーズと"deploy"フェーズに分けられ、各フェーズはコマンド群である"step"で構成されている。そして、全てのフェーズは一つの実行環境"box"内で実行される。
1つのパイプラインは1つのwercker.ymlに記述され、下記のようにboxとbuildフェーズ、deployフェーズを記載し、フェーズの中にはstepを記載していく。
##4.まとめ
・実行環境やビルド、デプロイコマンドを予め登録しておけるので設定の自由度が高く、かつ設定ファイルを簡潔に記載できる。
・無料で使えて、かつ対応しているCIツールが少ないbitbucketに対応している。
・全ユーザーがキューを共通利用しているらしいので、時々重くなることがある。