閉鎖環境のJenkinsでGradleを使ってビルドする方法をまとめてみた。閉鎖環境じゃなかったら、gradleWrapperを使って簡単にできるみたい(であってるかな?)。
幸いにも、俺の職場は開発PCは外部にアクセスできるので好きなものを落としてきて入れれるので、Jenkinsサーバが外部アクセスできなくてもいろいろ出来ました。
Jenkins Gradle pluginをインストールする
プラグインは、以下のサイトからダウンロードしてインストールします。
http://updates.jenkins-ci.org/download/plugins/gradle/
インストールは、ダウンロードしたgradle.ppiをJenkinsにアップロードするだけでOKで、「Jenkinsの管理->プラグインの管理画面」から行います。
下の画像のように、高度な設定タブを選択して先ほどダウンロードしたファイルを選択してアップロードしてあげます。
GRADLE_HOMEの設定
「Jenkinsの管理->システムの設定」からGRADLE_HOMEを設定します。
(事前にGradleをhttp://www.gradle.org/からダウンロードして、Jenkinsサーバに配置しておく必要があります。)
下の画面のようにGradleの設定欄で、nameとGRADLE_HOMEを設定してあげます。nameは、使用するGradleのバージョンが分かる名前で良いのかなと思います。
GROOVY_HOMEの設定
Gradleには、Groovyが同梱されいるのでGROOVY_HOMEの設定は不要だったみたいです。修正します。
GRADLE_HOMEと同じように、「Jenkinsの管理->システムの設定」から環境変数にGROOVY_HOMEを設定します。
下の画像を見たらどんなかんじに設定するかわかるかなと思います。
build.gradleの作成
以下の構成のプロジェクトをビルドするための、build.gradleを作成してます。
ミスって、GradleのJavaプラグイン標準構成から外れちゃってるので、build.gradleは以下の内容になってます。
JenkinsのプロジェクトにGradleのビルドを追加
下の画像のように、ビルド手順の追加からinvoke Gradle scriptを選択します。
選択後の画面で、invoke Gradle scriptの設定をしてあげます。
Gradle Version には、GRADLE_HOMEの設定したGradleを選択してあげます。
Build fileは、デフォルトファイル名のbuild.gradleなので入れていませんが、build.gradle以外のファイル名であれば入力してあげてください。
Tasksも、実行するタスクを必要があれば入力してあげてください。デフォルトタスクの場合は不要です。
Switchesには、プロパティ(-P)やシステムプロパティ(-D)を入力してあげます。
ビルドとは関係ないけど、Junitのテスト結果の集計も設定してます。GradleもantのJunitタスクと同じ形のxmlを出力するので、その結果を下にJunit結果をレポートすることができます。
ビルドを実行してみると・・・
ビルドを実行するとこんな感じにコンソール出力がされます。良い感じに動いてますね。
antのきっついxmlから脱却して、gradle使うといいよ。
私は、実プロジェクトで1000行近いantを独断でgradleに置き換えてみてます。
終わり。