ビルド結果の画面では、テスト結果やコンソールのログを見ることができます。ビルドが失敗した場合は、コンソールログからビルドの結果を確認します。
テストの結果を見ると、テストが1件失敗しており、失敗したテストはSampleLibTestクラスのpythonTestメソッドだということが分かります。テスト結果をクリックするとテストの結果を確認できます。
また、左の[コンソール出力]からビルド時のコンソールの出力を確認できます。ビルドが失敗した場合は、コンソール出力からビルドの失敗原因を調査します。
コードを修正して再ビルドしてみましょう。まず、ビルド結果の画面「org.ultimania.SampleLibTest.pythonTest」からテスト結果をクリックして確認すると、下記のようになっています。
java.lang.AssertionError: expected: but was:
at org.junit.Assert.fail(Assert.java:91)
at org.junit.Assert.failNotEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:126)
at org.junit.Assert.assertEquals(Assert.java:145)
at org.ultimania.SampleLibTest.pythonTest(SampleLibTest.java:45)
LibraryProjectのSubversionのリポジトリは「http://localhost/svn/SampleProject/LibraryProject/trunk」です。EclipseやSubversionクライアントなどでチェックアウトし、SampleLibTest#pythonTestメソッドを確認してみましょう。
42 @Test
43 public void pythonTest() {
44 SampleLib lib = new SampleLib();
45 assertEquals(lib.detectLangType("python"), LangType.PYTHON);
46 }
SampleLibクラスのdetectLangTypeメソッドの動作がおかしいようです。
続いて、SampleLib.javaを開いてdetectLangTypeメソッドを見てみましょう。
:
【略】
:
public LangType detectLangType(String langType) {
:
【略】
:
} else if (langType.equals("pyhon")) {
System.out.println("Pythonが選択されました");
return LangType.PYTHON;
} else if (langType.equals("perl")) {
:
【略】
:
}
どうやら、「python」を「pyhon」と記述してしまったため、エラーになっているようです。「pyhon」を「python」と修正・コミットしてもう一度JenkinsでLibraryProjectをビルドしてみましょう。
ビルドが終了すると、先ほど黄色だったランプが青に変わっているのが確認できます。
また、LibraryProjectのジョブのページを確認すると、テストが成功するのに合わせて、テスト結果やコードカバレッジの推移が変化しているのが分かります。
さて、Trac Lightningのサンプルで一通りJenkinsの使い方を理解したところで、ビルドの自動化、メール送信の設定や、Windowsサービスとしてインストールするなど、より実践的な使い方を見ていきましょう。
Jenkinsには、スケジューラによる定期的なビルドの実行と、コミットを検出して更新があったときにビルドをする機能を持っています。ここでは、定期的にバージョン管理システム(SCM)をポーリングして、リポジトリにコミットがあったときにビルドを行う設定をしてみましょう。
ジョブの左のメニューから[設定]を選びます(【1】)。設定画面の下の方にある[ビルド・トリガ]を設定することによりビルドの契機を設定できます。[SCMをポーリング]をチェックすると、リポジトリへコミットがあったときにビルドします。
また、[定期的に実行]をチェックすると、指定した時刻にビルドできます。SCMは、ソースコードマネジメント(Source Code Management)の略でバージョン管理システムと同義です。
ここでは、バージョン管理システムをポーリングする設定を行うので、LibraryProjectのジョブの画面の[ビルド・トリガ]の[SCMをポーリング]にチェックを入れます(【2】)。すると、スケジュールというテキストエリアが表示されますが、何を入力したら良いのか分かりません。そのような場合は、入力欄の右にある「?」マークをクリック(【3】)すると、その下に入力項目の説明が表示されます。
1時間に1回毎時0分にリポジトリをチェックし、リポジトリに更新があればビルドするように設定するには、スケジュール欄に以下のように入力します。
0 * * * *
15分ごとにしたければ、以下のように入力します。
*/15 * * * *
夜中の12時に1日1回だけのチェックにしたければ、以下のように入力します。
0 0 * * *
次ページでは、さらに実践テクをを紹介し、さまざまなプラグインについて説明します。
Copyright © ITmedia, Inc. All Rights Reserved.