2014年3月23日日曜日

GitHubとTravis CIでCIする

CI(継続的インテグレーション)のWebサービスTravis CIを使ってみました。

プライベートリポジトリは有料ですが、公開リポジトリであれば無料で、リポジトリ数も
無制限とのことだったので、さっそくトライしてみました。

必要なもの

GitHubアカウント
公開リポジトリ
Travis CI設定ファイル(.travis.yml)

手順

Travis CIのサインインがGitHubアカウントを必要としていましたので
GitHubでの利用が前提のように思います。
GitHubで公開リポジトリを用意していたのでTravis CIへのサインインはスムーズでした。

Travis CI-GitHub Auth

サインインするとTravis CIとの連携を許可するか確認の画面が表示されたので
内容を確認して赤枠内の"Authorize application"ボタンを押して承認します。

Travis CIのアカウント画面でGitHubのリポジトリ一覧が表示されるのでCIするリポジトリを
"ON"にします。
Travis CI-リポジトリ一覧
リポジトリ一覧

公開リポジトリのルートに.travis.yml(Travis CI設定ファイル)を作成します。
ファイル自体はYAML形式で記述します。
言語により設定する内容が変わります。詳細はドキュメントにあります。
Travis CI設定の検証で事前に書き方が間違ってないか確認できます。
(コメントに日本語を含めるとCIでエラーになったのですべて英語にしました)

公開リポジトリにPushまたはPull RequestすることでTravis CIでCIが行われます。

使ってみて

PushやPull Requestすれば設定しておいた内容を自動で行ってくれて実際の画面を見ると
「動作してるよ」と一人で感激していました。
終了時にメールなどに通知もしてくれるのでありがたいです。
GitHub側でPull Request画面で気づいたのですが、Travis CIでCIが行われているかどうか
ステータスとして表示されていました。

GitHubステータス(CI実行前)
CI実行前
GitHubステータス(CI実行後-成功)
CI実行後(成功)

エラーや警告から成功のグリーンに変わるのは気持ちがいいです。
プライベートリポジトリの場合は他の方法も含めて探す必要があるかと思いますが
まずはCIを経験してみるだけでも価値があると思いました。