[Android Studio] Jenkins を Mac にインストールして Gradle ベースのプロジェクトをビルドする
はじめに
Android Studio ではビルドシステムに Gradle を採用しています。これを Jenkins で CI するときにはどうやってビルドするんだろう、と調べてみたらとっても簡単でした。Jenkins の導入から Android Studio で作成したプロジェクトを Gradle でビルドするところまでをメモとして残しておきたいと思います。
Jenkins のインストール
まず Jenkins のインストールです。Homebrew を使います。
brew install jenkins ==> Downloading http://mirrors.jenkins-ci.org/war/1.500/jenkins.war ######################################################################## 100.0% ==> Caveats To have launchd start jenkins at login: ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents Then to load jenkins now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist Or, if you don't want/need launchctl, you can just run: java -jar /usr/local/opt/jenkins/libexec/jenkins.war ==> Summary /usr/local/Cellar/jenkins/1.500: 3 files, 47M, built in 50 seconds cp /usr/local/Cellar/jenkins/1.477/homebrew.mxcl.jenkins.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
これで http://localhost:8080 にアクセスすると Jenkins のページが表示されるようになると思います。
ちなみに社内サーバーにインストールしてアクセスしたい場合、 ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist で --httpListenAddress が設定されていないか確認しておくようにしましょう。以下のようになっている場合は 127.0.0.1 からしかアクセスできないようになっているので削除する必要があります。
<string>--httpListenAddress=127.0.0.1</string>
また今回立てた Jenkins は Android プロジェクト用なので Jenkins の設定画面で環境変数に ANDROID_HOME を追加しておきましょう。
新規ジョブの作成
次に新規ジョブを作成し、いろいろ設定します。まずは「新規ジョブ作成」をクリック。
「ジョブ名」を入力し「フリースタイル・プロジェクトのビルド」を選択します。
次に詳細設定画面が表示されます。「ソースコード管理システム」にソースコードを置いている場所を設定します。
次に「ビルド」で「シェルの実行」を選択し ./gradlew build を追加します。これでプロジェクト内にある gradlew のコマンドを使ってビルドを実行してくれます。
最後に「ビルド後の処理」の「成果物の保存」を選択し、apk を保存する場所を選択します。今回は適当に **/*.apk としました。
ここまでできたら「保存」をクリックしてジョブの設定を完了します。ビルドを実行すると無事に成功すると思います!
ビルドした apk もちゃんと保存されていますね!(この設定だと ~/.jenkins/jobs/sample/builds の中にできます)
まとめ
今回は Jenkins はほんの触りだけ、Gradle のビルドもほんの触りだけやってみました。 gradlew にはいろいろコマンドがあるようなので (./gradlew tasks で見れます) ビルドコマンドとあわせて使うといい感じに CI できると思います!