Jenkinsとtestemをつなげてみよう
Jenkinsとtestemの準備ができました。ではそれぞれつなげて実行してみましょう。
JenkinsにTAPプラグインのインストール
まずは、testemのCIモードの実行結果を取得できるように、JenkinsにTAPプラグインをインストールします。Jenkinsの管理 -> プラグインの管理 ->利用可能タブ にアクセスし、tapプラグインにチェックを入れ、インストールボタンを押下し、Jenkinsを再起動してください。
Jenkinsのプロジェクトを作成する
Jenkinsのプロジェクトを作成します。ジョブ名「JavaScriptのテスト」「フリースタイル・プロジェクトのビルド」を選択し、プロジェクトを作成します。
Jenkinsのプロジェクトの設定を行う
プロジェクトの設定を行います。以下の手順で行います。
1)testem実行コマンドの設定
ビルド手順の追加 -> Windowsバッチコマンドの実行 を押下し、以下のスクリプトを追加します。testemコマンドのパスを指定しているのは、Jenkins上ではパスが通っていない場合があるため指定していますので、環境ごとに読み替えてください。%WORKSPACE%は、Jenkinsに作成したプロジェクトの作業ディレクトリのパスが環境変数で指定されています。
cd C:\testem\ C:\Users\ユーザ名\AppData\Roaming\npm\testem ci -f testem.json > "%WORKSPACE%\result.tap"
2)TAPの読み込むファイルの設定
ビルド後の処理 -> Publish TAP Results を押下し、テスト実行後に読み込むTAPファイルを指定します。
result.tap
ビルドの実行
ではビルドを実行してみましょう。テスト結果がOKになるとTAP Extended Test Resultsにテスト結果が表示されています。これでテストが実行される環境が整いました。
最後に
今回はJavaScriptでのCIについて解説しました。開発者個人としてテストを書き実行してコーディングを行うことはもちろん、チーム開発では常に統合を行うことも重要ですので、是非チームで取り入れてください。
これまで7回にわたって、JavaScriptのテストについて連載してきましたが、今回で終了です。テストや継続的インテグレーションはJavaScriptにかぎらず必ず必要になる考え方ですので、多くの現場で活かしていただけると幸いです。またどこかでお逢いいたしましょう!