Android 使用Jenkins(最新版)持續集成打包發包(MAC)

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 插件上傳應用到蒲公英.

這樣的一個自動拉取代碼打包發包的過程就實現了.如有問題可以私信交流.

作者: 葛糖糖

鏈接:imooc.com/article/25037

來源:慕課網

本文原創發佈於慕課網 ,轉載請註明出處,謝謝合作


推薦閱讀:

【重磅】認證作者招募 | 打造個人品牌 so easy !

Sublime Text 3最好的功能、插件和設置

android插件化——支付寶如何在不安裝淘票票的情況下載入淘票票原生App

MyCat 入門:漫談 MyCat 配置系統

如何做出良好用戶體驗的動效設計

推薦閱讀:

測試過程中,抓重點
工具應用:Robot Framework->實現數據驅動測試

TAG:產品 | Android | 軟體測試 |