前回の記事の続き wannabe-jellyfish.hatenablog.com
前回までで、Tomcatを立てて、JenkinsとSonatype Nexusをインストールできた
CIするためには、JenkinsのJobを作ったりする準備しないといけない
今回はそこら辺の備忘録
ちなみに、環境は以下な感じ
- Ubuntu 14.04
- Jenkins v1.620
Jenkinsの設定
必要なプラグインのインストール
デフォルトでは、Gitからcloneしたり、Gradleでビルドしたり、Emulatorを使ったテストができない
そのため、まずは必要なプラグインをインストール プラグインのインストールは、
- 「Jenkinsの管理」>「プラグインの管理」>「利用可能」タブからー
インストールするプラグインは以下の3つ
- Git Plugin
- 利用できるバージョン管理システムにGitを追加するプラグイン
- Gradle Plugin
- Android Emulator Plugin
Jenkins自体の設定
プラグインを追加したら、いくつか設定が必要
設定画面は、
- 「Jenkinsの管理」>「システムの設定」からー
以下の内容を設定
- 環境変数の設定
- Androidの設定
- Gitの設定
- 「Git」の「Git Installations」にJenkinsが利用するGitを追加
- 以下の感じで設定
- Name: Default
- Path to Git executable: git
- 自動インストール: 有効
- Gradleの設定
- 「Gradle」の「インストール済みGradle」にJenkinsが利用するGradleを追加
- 以下な感じで設定
- name: Gradle 2.5
- 自動インストール: 有効
- バージョン: Gradle 2.5
- ※gradlewrapperを使うから不要かも。。。(-_-;)
AndoridライブラリのJobを作成する
いよいよJobを作成!
いつもどおり「新規ジョブ作成」から!
- 「フリースタイル・プロジェクトのビルド」を選択
- 「ソースコード管理」でGitを選択
- 「Repository URL」にリモートリポジトリのURLを設定
- 「Branch Specifier」に対象のブランチ名を設定
- 「ビルド」で「Invoke Gradle script」を選択
- 「Use Gradlke Wrapper」を選択
- 「Task」に実行したいタスクを設定
- ビルドだけであれば「build」とか
- テストもしたかったら「test」とか
これでビルド実行して問題なければOK!!
うまくいかなかったとこ
インストールしたAndroidのbuild toolのバージョンであってなくて、Jobがこけたりしてた。。。。・゚・(ノД`)・゚・。
サーバ上にインストールされているAndoridのバージョンなども要確認!!
Android側の設定(build.gradleの設定)
Jenkinsの設定もして、ビルドやテストの自動化ができた!
なので、Androidのbuild.gradleの設定もして、gradleのタスクでNexusにアップロードできるようにする!!
変更したbuild.gradleは以下な感じー
apply plugin: 'com.android.library' apply plugin: 'maven' group = 'jp.memorylovers' version = '1.0-SNAPSHOT' uploadArchives { repositories { mavenDeployer { snapshotRepository(url: 'http://localhost:8080/nexus/content/repositories/snapshots/') { authentication(userName: "deployment", password: "deployment123") } repository(url: 'http://localhost:8080/nexus/content/repositories/releases/') { authentication(userName: "deployment", password: "deployment123") } } } } android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { minSdkVersion 17 targetSdkVersion 22 versionCode 1 versionName project.version } }
ようは、
をしている感じです!
とりあえず、今回はここまでー!! また次回!!