うさぎ組

ソフトウェア開発、チームによる製品開発、アジャイル、ソフトウェアテスト

Git + Jenkins + Groovyの連携1 #kyon_mmAdvent

kyon_mm Advent Calendar

つぎのリンクにあるAdventCalendarの二日目です。
http://connpass.com/event/1457/


JenkinsのJOBを作成してみる

  1. ビルドするプロジェクトに必要なJenkinsのプラグインツールをJenkinsサーバーにインストールする。
  2. Jenkinsで実行したいJOBを作成し、クローンしてくるリポジトリを指定する。


今回はGradle本体をJenkinsサーバーにクローンして、そのリポジトリからビルドすることにします。
次の手順で進めます。

  1. Gradle本体をクローンする
  2. Jenkinsが動作しているサーバーにGroovy, Gradle, Gitをインストールし、JenkinsでそれらをつかうためにJenkinsのそれぞれのプラグインもインストールする。
  3. JOBを作成する
  4. 実行してみる
Gradleのクローン
cd {gradleのリポジトリを置きたいディレクトリ}
git clone git://github.com/gradle/gradle.git
cd gradle

これでgradle/gradle · GitHubと同じようなディレクトリ構成になっていればクローン成功です。
まずは、Jenkinsからではなく、そのままビルドできるか試してみましょう。次のコマンドを試します。これでGradleプロジェクトのコアプロジェクトのみをコンパイル、テスト、静的解析まで行います。
gradlewはgradleをインターネットから自動でダウンロードしてgradleでビルドしてくれるラッパーコマンドです。

./gradlew core:build

ビルドに必要なライブラリがどんどんダウンロードされるので、しばらく放置になるかと思います。
テストが失敗するばあいもあると思いますが、サンプルとして動かしたいだけなので、失敗してもかまいません。

Gitをインストール

Gitのインストールは前回の記事[:title]などを参考に行ってください。

Jenkinsでのプラグインインストールおよび設定


WebブラウザーからJenkinsにアクセスし、Groovy, Git, Gradle, JUnitプラグインをインストールします。
[Jenkinsの管理] -> [プラグインの管理] -> [利用可能]
それぞれのツールチェックボックスにチェックをつけて、[再起動せずにインストール]ボタンをクリックします。
プラグインインストール中画面に切りかわり、随時インストールが実行されるはずです。
全てのプラグインのインストールが完了したらトップページに戻って[Jenkinsの管理]->[システム管理]にすすみます。

Java
JDKのホームを指定しましょう。


Git
gitの実行ファイルのパスを指定しましょう。(c:\programe files\git\cmd\git.exe とか)


Groovy
自動インストールにチェックボックスをつけて、Groovy-2.0.5を選択しましょう。



Gradle
自動インストールにチェックボックスをつけて、Gradle-1.3.0を選択しましょう。



JOB作成

まずは、JenkinsにJOBを追加します。フリースタイルプロジェクトを選択して、適当な名前をいれてください。


ビルド対象となるリポジトリを指定します。ここで指定したリポジトリからJenkinsがJOB毎に用意されるワークスペースにビルドのたびにクローンしてきます。
先ほどクローンして来たGradleのリポジトリのパスを指定します。


次にビルドの操作を指定します。「ビルド手順の追加」から「シェルの実行」を選択します。
ボックスが表示されるので、先にローカルで実行した「./gradlew core:build」を指定します。
また、テストの実行件数などもモニタリングできるので、テストの実行結果ファイルであるxmlファイルのパスを指定します。
「ビルド後の処理の追加」から「JUnit結果の集計」を選択します。
ボックスが表示されるので、レポートのxmlが保存されるパスを指定します。今回はcoreプロジェクトの結果になるので、「gradle/subprojects/core/build/test-results/*.xml」になります。


保存ボタンをクリックして完了です。
さっそく、ビルドを実行してみましょう。


しばらくまって、下のような画面を表示できれば成功です。(もしかしたら環境によってはテストが失敗しているかもしれないけど)


赤枠の部分にマウスをもっていくと、ホバーがでてくるので「テスト結果」を選択するとしたのような画面が表示されます。ここで、テストのパッケージ毎にどれくらいの秒数がかかったかわかります。差分という列は前回のビルドとどれくらい時間差があるかを表示していて、これはまだ一度もテストが成功していない例なのでこのように表示されています。


今はテストが一度しか通っていないのですが、ここから更にテストを重ねていくとテストの成功件数や失敗件数がチャートになってみれるようになります。
左側の「テストの履歴」をクリックすると下のような画面が表示されます。





Jenkins

Jenkins

プログラミングGROOVY

プログラミングGROOVY

入門Git

入門Git