Jenkins 持續整合 Android 專案

姜家志發表於2017-03-25

Jenkins是一個基於Java的開源的CI專案:jenkins-ci.org/。它包括持續的軟體版本測試/釋出,監控外部呼叫執行的工作等...
在開發Andorid專案時,常常需要build新的APK,給內部人員或者外部人員測試使用,還有就是執行單元測試等...
執行gradle assembleRelease本身又比較費時。所以藉助Jenkines完成自動打包,釋出的工作是一個不錯的選擇。

##安裝Jenkins
在這裡:Jenkins官網可以下載最新的Jenkins安裝包。
下載完成之後就可以直接開始安裝:

Jenkins 持續整合 Android 專案
install jenkins

一路Continue即可

安轉完成之後,直接啟動Jenkins,在瀏覽器中可以看到:

Jenkins 持續整合 Android 專案
Jenkins 啟動

也可以通過命令啟動Jenkins:

java -jar jenkins.war

Jenkins安裝之後需要安裝外掛才能build Android專案。

##安裝外掛
因為是測試專案託管在github上面,所以需要安裝git外掛,另外還需要安裝gradle,android外掛,android外掛可以幫助下載android sdk,如果已經有android sdk的就不用安轉該外掛了。
在右側的選單欄中的系統管理裡面可以找到管理外掛,在可選外掛中搜尋gradle
系統管理:

Jenkins 持續整合 Android 專案
系統管理

管理外掛:
Jenkins 持續整合 Android 專案
管理外掛

安裝 Gradle plugin,Git Parameter Plug-In以及Android Emulator Plugin外掛。
安裝完成之後重啟Jenkins:

Jenkins 持續整合 Android 專案
下載後重啟安裝

外掛安裝完成之後就可以建立一個構建Android任務了。

##建立任務
建立一個新任務,選擇構建一個自由風格的軟體專案:

Jenkins 持續整合 Android 專案
選擇自由風格

選擇並配置git:
Jenkins 持續整合 Android 專案
git

在構建環境中選擇使用Gradle構建專案,這裡選擇使用的是系統Gradle,增加構建步驟,選擇invoke gradle script,新增指令碼:

gradle clean assembleRelease

Jenkins 持續整合 Android 專案
構建

構建後操作:選擇archive the artifacts
輸入:example/build/outputs/apk/*.apk用來輸出編譯的Apk檔案。

Jenkins 持續整合 Android 專案
archive

##開始構建
開始第一次構建,有一個錯誤產生:

[Gradle] - Launching build.
[workspace] $ gradle clean build run
FATAL: command execution failed
java.io.IOException: Cannot run program "gradle" (in directory "/Users/Shared/Jenkins/Home/jobs/android-crop/workspace"): error=2, No such file or directory

原因是找不到gradle,需要在系統中配置下gradle,在系統管理->系統設定中,可以找到配置gradle的選項:

Jenkins 持續整合 Android 專案
gradle

構建成功:

Jenkins 持續整合 Android 專案
構建成功

成功了構建出了Apk檔案。

相關文章