yaakaito.org

TestemをJenkinsで動かしてみる

Jenkins, Testem, Testing

こんにちは!うきょーです! Testem使ってますか?便利ですよね!便利なのはいいんですが、 CIモードやばい!はよくみるけど、CIモードを実際にJenkinsに乗せました、みたいなのを見ないので乗せてみました。

環境

残念ながら僕はマシンを余らせてないのでローカルのMacです。

プロジェクトは、昨日から書き始めた Katana というのを使います。 TypeScript0.9を使っているので、Typescriptなんかも用意してあげる必要があります。

導入の仕方

ちゃんと公式にドキュメントがあります。

  • https://github.com/airportyh/testem/blob/master/docs/use_with_jenkins.md

英語読むのがめんどくさい人の為に要約すると、

  • TAPプラグイン入れる
  • testem ciの結果を適当なファイルに書く(tests.tap)
  • これをTAPプラグインに喰わせる
  • べんりーーーーーー^ー^

ってことです。

準備

Jenkinsをインストールします

適当にやってください。

ビルド環境を整えます

とりあえずTestemを動かす為に、まずはnodeが必要です。nvm経由でインストールします。 Macの場合/User/Shared/Jenkinsが作られるので、Jenkins氏にユーザーを切り替えて、node環境を構築してTestemをいれます。

1
2
3
4
5
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
$ source .nvm/nvm.sh
$ nvm install 0.8
$ nvm use 0.8
$ npm install -g testem

testem launchersしてみます。

1
2
3
4
5
6
7
8
9
10
$ testem launchers
Have 5 launchers available; auto-launch info displayed on the right.

Launcher      Type          CI  Dev
------------  ------------  --  ---
Chrome        browser       ✔           
Firefox       browser       ✔           
Safari        browser       ✔           
Opera         browser       ✔           
PhantomJS     browser       ✔           

とりあえずこんな感じになればOkです。

他にも必要なものを入れていきます。 gruntとか使ってるなら

1
$ npm install -g grunt-cli

とかやっておきます。

Jenkinsにプラグインをそろえる

今回は Tapプラグインとgitプラグインを準備します。

この辺です。

Gitの設定をする

適当にJenkinsのgitをセットアップします。

1
2
$ git config --global user.email yaakaito+jenkins@yaakaito.org
$ git config --global user.name yaakaito+jenkins

ジョブの構築

準備も整ったの、ジョブを作ります。Build a free-style software project です。

コード管理

githubから取ってくるようにします

ビルド

ここでtestem ciするようにします。npmを使っているので、それらも実行します。

1
2
3
4
source ~/.nvm/nvm.sh
nvm use 0.8
npm install
testem ci -p 12333 > tests.tap

ビルド後の処理

TAPプラグインで、出力したtests.tapを喰います

ビルドしてみる

やったーーー

うまくいかないとき

workspaceでtestem ciしてみたり、ログ見てなんとかする。