Android 使用Jenkins(最新版)持續集成打包發包(MAC)
來自專欄 猿論
前言
每次寫完功能就要打包,因為項目原因打包時間較長,所以就需要等待,搭完包之後還要把這個包發給測試,很不方便.那就想個辦法,實現一個悄悄拉取代碼,在後台偷偷打包的方式,打完包直接生成一個二維碼測試下載安裝就好了.於是問了下度娘還真有,配置了一下午發現可以成功運行,怕遺忘了所以記錄一下
一.環境搭建
1.配置Android ADB環境
關於Android整個開發環境的搭建,SDK的下載安裝,這裡就不贅述了,配置adb環境也可以去百度一下,一大把,這裡查看adb是否配置成功可以在終端輸入
adb
顯示以下信息則證明配置成功.<br/>
2.配置Gradle環境
配置gradle環境可以看一下我之前寫的這篇文章Mac 配置gradle環境變數.在終端上執行gradle -version,查看是否配置成功。
gradle -version
如顯示如下表示配置成功.<br/>
3.下載Jenkins
下載最新的版本(一個 WAR 文件),官網下載地址Jenkins.
關於Jenkins的環境什麼系統都支持,配置的方法也差不多.我選擇的直接使用war包的方式,因為網上有的說pkg的有問題,我就沒用.選擇Weekly的 Generic Java package(.war)這個選項.把這個war包放到某個文件下,通過控制台來到當前的文件夾,在控制台輸入
java -jar jenkins.war
注意:Jenkins 需要運行 Java 5以及以上的版本。執行這個命令之後會有一個安裝過程,等一會就好了.顯示如下的結果就證明Jenkins已經啟動了.<br/>
以後每次啟動都會調用這個命令行,我們可以把它寫成一個腳本,點擊就可以運行.
4.配置Jenkins
1.插件安裝
在瀏覽器輸入localhost:8080 就可以看到上面的那個小老頭了,會讓你輸入密碼,此時來到控制台就能找到密碼,然後會有一個安裝嚮導,會讓選擇安裝全部插件還是自定義選擇安裝,這個大家隨意.然後就會讓你設置admin賬戶,如果不懂的話可以先跳過,使用默認的admin賬戶,如果以後再登錄忘記admin賬戶密碼的話可以到.jenkins/secrets/目錄下的initialAdminPassword文件查看密碼.操作見下圖<br/>
完成設置之後,這是我的Jenkins頁面<br/>
其實大多數的插件我們都已經安裝完了,點擊系統管理>插件管理>,像一些Git Plugin,Gradle Plugin,Android Lint 等插件均可以在已安裝插件中找到,如果找不到可以在可選插件中過濾出你想要安裝的插件,然後選擇安裝就可以. <br/>
2.環境變數配置
點擊系統管理>系統設置>,<br/>
向下滑,選擇環境變數,然後增加一個鍵值對,如圖<br/>
如果需要也可以配置一下Gradle的環境變數.
項目實戰
1.構建一個自由風格的軟體項目
點擊左側菜單中的新建任務,然後在新的界面輸入項目名字,選擇構建一個自由風格的軟體項目選項完成創建<br/>
2.配置項目git地址
完成創建會跳到一個項目配置頁面,我們項目是用的gitlab,所以源碼管理我選擇的是git,在上面輸入你的git地址,如果有用SSH就自己add一下,可以選擇構建的分支,直接輸入你的*/分支名字就好.點擊保存,完成git配置.<br/>
返回到主頁面,點擊立即構建,就可以編譯你的項目了,一會就會構建成功.<br/>
點擊那個#1進去會看到一下變更記錄,點擊工作區可以看到你的源碼目錄<br/>
那你也肯定想知道構建完成的目錄在哪裡吧,點擊系統管理>系統設置>主目錄右側高級便可以看到構建的目錄了<br/>
實際路徑/Users/Apple/.jenkins/workspace/HSLStock/<br/>
3.配置自動拉取最新代碼
在構建觸發器中,有兩種自動拉取代碼並編譯的策略: <br/>1. 設置Poll SCM,設置定時器,定時檢查代碼更新,有更新則編譯,否則不編譯。
第一個參數代表的是分鐘 minute,取值 0~59;
第二個參數代表的是小時 hour,取值 0~23;第三個參數代表的是天 day,取值 1~31;第四個參數代表的是月 month,取值 1~12;最後一個參數代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。如H/5 表示的就是每5分鐘檢查一次源碼變化。2.設置Build periodically,周期性的執行編譯任務。<br/>4.編譯配置gradle
上面雖然編譯成功了,但是你發現根本沒有看到APK文件,所以還需要進行下面的配置:增加構建步驟,打開配置頁面,如果安裝gradle插件成功的話,應該會出現下圖的Invoke Gradle script<br/>
${JENKINS_HOME}/workspace/${ITEM_FULL_NAME} 表示當前.jenkins目錄下的workspace目錄,主要是存放代碼,如果你不知道你的怎麼填你可以去系統設置看一下主目錄就能看到.一般${JENKINS_HOME}目錄位於當前用戶目錄下,OS X 系統路徑一般是/Users/用戶名/.jenkins/worksplace/; 再點擊立即構建一般就會構建成功,當然當那些第三方庫需要重新下載的話,編譯可能會很慢。這樣,就能自動在project下的app的build/outputs/apk下生成相應的apk.<br/>
注意:編譯失敗?可能要解決以下2個問題:
1.gradle沒配置環境變數。2.因為一般來說local.properties不會添加到版本庫。 所以需要手動copy到${WORKSPACE}下的Project目錄下(可參考自己Android Studio工程結構)。如果構建沒有成功也可以點#1這個選項,然後點擊左側的控制台輸出看一下構建失敗的原因,這個控制台的輸出是和我們的AS輸出一樣的.<br/>5.上傳到測試平台
我這裡是選擇的上傳到蒲公英測試平台,上傳方法可參考使用 Jenkins 插件上傳應用到蒲公英.
這樣的一個自動拉取代碼打包發包的過程就實現了.如有問題可以私信交流.
作者: 葛糖糖
鏈接:https://www.imooc.com/article/25037
來源:慕課網
本文原創發佈於慕課網 ,轉載請註明出處,謝謝合作
推薦閱讀:
【重磅】認證作者招募 | 打造個人品牌 so easy !
Sublime Text 3最好的功能、插件和設置
android插件化——支付寶如何在不安裝淘票票的情況下載入淘票票原生App
MyCat 入門:漫談 MyCat 配置系統
如何做出良好用戶體驗的動效設計
推薦閱讀: