メメメモモ

プログラミング、筋トレ、ゲーム、etc

Ukigumoで構築するCI環境

UkigumoでCI環境を構築します。
今回構築した環境では、

  • proveでテスト実行
  • Ikachanでテスト通知

を行うことにしています。

Ukigumo-Serverの設置

gitでcloneしてきます。

$ git clone git://github.com/ukigumo/Ukigumo-Server.git

READMEに従って依存モジュールをインストールします。

$ curl -L http://cpanmin.us | perl - Carton
$ carton install

サーバの実行もREADME通りです。

$ carton exec perl -- local/bin/plackup -- port 5555 app.psgi

Ikachanの設置

cpanmでインストールします。

$ cpanm App::Ikachan


以下のコマンドでikachanを起動します。

$ ikachan -S {irc_server_ip} -N {nickname}


Ukigumoでは、「ikachanのURL」と「チャンネル名」を使用します。

Ukigumo-Client

cpanmでインストールします。

$ cpanm Ukigumo::Client


インストールするとukigumo-client.plが使えるようになるので、このスクリプトを使用してテストを実行します。

オプションは以下のものを使います。

  • repos
  • server_url
    • Ukigumo-ServerのURLを指定します。
  • command
    • proveコマンドを記述します。

以上のことをふまえて、以下の様なコマンドを打ってみる。

$ ukigumo-client.pl --repo={git_repository} --server_url={ukigumo-server-url} --command="prove -Ilib t/" --ikachan_url="http://127.0.0.1:4979/" --ikachan_channel=#ci


問題なく行けたら、cronにこのコマンドを設定します。
perlbrewなどに考慮するため、以下のようなシェルファイルを準備して実行するようにします。

#!/bin/sh

export HOME=/home/myapp
source ~/perl5/perlbrew/etc/bashrc
perlbrew use 5.14.2

ukigumo-client.pl --repo={git_repository} --server_url={ukigumo-server-url} --command="prove -Ilib t/" --ikachan_url="http://127.0.0.1:4979/" --ikachan_channel=#ci