しおしお

IntelliJ IDEAのことなんかを書いてます

JenkinsでGradleを使おう

閉鎖環境のJenkinsでGradleを使ってビルドする方法をまとめてみた。閉鎖環境じゃなかったら、gradleWrapperを使って簡単にできるみたい(であってるかな?)。

幸いにも、俺の職場は開発PCは外部にアクセスできるので好きなものを落としてきて入れれるので、Jenkinsサーバが外部アクセスできなくてもいろいろ出来ました。

Jenkins Gradle pluginをインストールする

プラグインは、以下のサイトからダウンロードしてインストールします。
http://updates.jenkins-ci.org/download/plugins/gradle/

インストールは、ダウンロードしたgradle.ppiをJenkinsにアップロードするだけでOKで、「Jenkinsの管理->プラグインの管理画面」から行います。
下の画像のように、高度な設定タブを選択して先ほどダウンロードしたファイルを選択してアップロードしてあげます。
f:id:sioiri:20120526140346p:plain

GRADLE_HOMEの設定

「Jenkinsの管理->システムの設定」からGRADLE_HOMEを設定します。
(事前にGradleをhttp://www.gradle.org/からダウンロードして、Jenkinsサーバに配置しておく必要があります。)

下の画面のようにGradleの設定欄で、nameとGRADLE_HOMEを設定してあげます。nameは、使用するGradleのバージョンが分かる名前で良いのかなと思います。
f:id:sioiri:20120526184015p:plain

GROOVY_HOMEの設定

Gradleには、Groovyが同梱されいるのでGROOVY_HOMEの設定は不要だったみたいです。修正します。
GRADLE_HOMEと同じように、「Jenkinsの管理->システムの設定」から環境変数にGROOVY_HOMEを設定します。
下の画像を見たらどんなかんじに設定するかわかるかなと思います。
f:id:sioiri:20120526211109p:plain

build.gradleの作成

以下の構成のプロジェクトをビルドするための、build.gradleを作成してます。
f:id:sioiri:20120526213814p:plain

ミスって、GradleのJavaプラグイン標準構成から外れちゃってるので、build.gradleは以下の内容になってます。

JenkinsのプロジェクトにGradleのビルドを追加

下の画像のように、ビルド手順の追加からinvoke Gradle scriptを選択します。
f:id:sioiri:20120526215713p:plain

選択後の画面で、invoke Gradle scriptの設定をしてあげます。
Gradle Version には、GRADLE_HOMEの設定したGradleを選択してあげます。
Build fileは、デフォルトファイル名のbuild.gradleなので入れていませんが、build.gradle以外のファイル名であれば入力してあげてください。

Tasksも、実行するタスクを必要があれば入力してあげてください。デフォルトタスクの場合は不要です。

Switchesには、プロパティ(-P)やシステムプロパティ(-D)を入力してあげます。


f:id:sioiri:20120526215812p:plain

ビルドとは関係ないけど、Junitのテスト結果の集計も設定してます。GradleもantのJunitタスクと同じ形のxmlを出力するので、その結果を下にJunit結果をレポートすることができます。

ビルドを実行してみると・・・

ビルドを実行するとこんな感じにコンソール出力がされます。良い感じに動いてますね。
f:id:sioiri:20120526220429p:plain

antのきっついxmlから脱却して、gradle使うといいよ。
私は、実プロジェクトで1000行近いantを独断でgradleに置き換えてみてます。

終わり。