ボールを蹴りたいシステムエンジニア

ボール蹴りが大好きなシステムエンジニア、ボールを蹴る時間確保の為に時間がある時には勉強する。

jenkinsでgradleを使ってJUnitのテストケースを実行する

環境

CentOS 6.6
java 1.8.0_66
jenkins-2.25
gradle-3.1

手順

jenkinsでのgradle設定

ダッシュボード -> Global Tool Configuration
インストール済みGradle -> 「Gradle追加」
nameは任意、ここでは「Gradle3.1」としておく。
GRADLE_HOMEに「/usr/local/bin/gradle-3.1/」を設定。
※GRADLE_HOMEは環境により適宜変更する
自動インストールのチェックボックスは外す。
「Save」クリック

ジョブ作成

ダッシュボード -> 新規ジョブ作成

Enter an item nameに任意の名前を入力、ここでは「junit_test」とする。
フリースタイル・プロジェクトのビルドを選択して「OK」

設定画面が表示される。

ソースコード管理は無し。
ビルド -> Invoke Gradle script
Invoke Gradleにチェック。
Gradle Versionはプルダウンから先程設定した「Gradle3.1」を選択し「保存」

Javaプロジェクトのプロジェクトをワークスペースに配置

ジョブの左サイドメニューの「ビルド実行」をクリックし、ワークスペースを作成する。
その後、「ワークスペース」をクリックすると、「ディレクトリ内にファイルが存在しません」と表示される。

ワークスペースディレクトリが生成されている事を確認、空ディレクトリ。

[root@localhost src]# ls /var/lib/jenkins/workspace/junit_test/

↓で作成したJUnitプログラムを持つJavaプロジェクトを今回利用。
gradleを使って簡単なJUnitテストケースを実行してみる。 - ボールを蹴りたいシステムエンジニア

/var/lib/jenkins/workspace/junit_test/
の配下に配置する。
こんな感じ

/var/lib/jenkins/workspace/junit_test/test/huga/HogeTest.java
/var/lib/jenkins/workspace/junit_test/lib/junit-4.11.jar
/var/lib/jenkins/workspace/junit_test/build.gradle

jenkinsのワークスペースにも表示される事をブラウザで確認。
http://192.168.10.111:8008/job/junit_test/ws/

ビルドを実行してみる。

左サイドメニューのビルド履歴にビルド結果が表示される。
#{数字}をクリックして結果を閲覧。
※{数字}は実行番号順

コンソール出力をクリックしビルド結果を閲覧。
こんな感じ

Building in workspace /var/lib/jenkins/workspace/junit_test
[Gradle] - Launching build.
[junit_test] $ /usr/local/bin/gradle-3.1/bin/gradle
Starting a Gradle Daemon (subsequent builds will be faster)
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:build

BUILD SUCCESSFUL

Total time: 6.54 secs
Build step 'Invoke Gradle script' changed build result to SUCCESS
Finished: SUCCESS

BUILD SUCCESSFULと出てビルドが成功した事が確認出来る。

ビルドエラー1

コンソール出力で以下のようなエラーが出た場合は、Global Tool Configuration -> インストール済みGradleでGRADLE_HOMEが設定されてないと思われるので再度設定する。

Building in workspace /var/lib/jenkins/workspace/junit_test
[Gradle] - Launching build.
[Gradle] - [ERROR] Can't retrieve the Gradle executable.
Build step 'Invoke Gradle script' marked build as failure
Finished: FAILURE
ビルドエラー2

以下のエラーは'/var/lib/jenkins/workspace/junit_test/build.gradle'のMD5ハッシュの作成に失敗しました。
という事。
恐らくbuild.gradleのファイル権限がない?

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'junit_test'.
> Failed to create MD5 hash for file '/var/lib/jenkins/workspace/junit_test/build.gradle'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

パーミッションを確認すると

[root@localhost junit_test]# ls -lht /var/lib/jenkins/workspace/junit_test/build.gradle
----r-x---. 1 root root 203 10月 15 14:04 2016 /var/lib/jenkins/workspace/junit_test/build.gradle

読み込み権限付与で解決した。

[root@localhost junit_test]# chmod a+r /var/lib/jenkins/workspace/junit_test/build.gradle

テスト結果レポートは下記URLから確認出来た
http://ホスト:ポート/job/プロジェクト名/ws/build/reports/tests/test/index.html