Windows環境下jenkins +svn+android studio自動化構建(持續集成,打包)

之前打包都是RD通過Android studio或者Eclipse /adt手動打包生成apk給QA測試,現在技術總監要求對項目進行持續集成,也就是說通過某種方式定時(比如每天凌晨三點)自動將SVN庫中最新的代碼down下來編譯打包,QA也可以通過Jenkins手動構建最新的代碼打包,不用每次都由RD手動打包生成apk黑QA,而且多渠道打包又很繁瑣.

軟件環境:

1、 windows7 64bit;

2、 jdk1.8

3、 android sdk

4、 gradle2.10

首先得配置環境變量,JDK,Android SDK,Gradle 就不用說了,Android開發應該都配好了,配置tomcat,直接去官網下載tomcat,解壓下載好的tomcat,

複製路徑配置環境變量,新建環境變量:

變量名:CATALINA_HOME

變量值:解壓後的路徑


找到path加上;%CATALINA_HOME%\lib啓動tomcat,ok了


接下來就是安裝Jenkins了.官網下載jenkins


點擊Download Jenkins,我下載的是2.23版本.


解壓該文件後


點擊安裝OK了.安裝完成後會自動跳轉到localhost:8080下.ok靜靜地等待網頁加載,時間可能會久一點,耐心的等待.

加載完成後會提示選擇安裝插件,第一個是默認推薦的插件,第二個是自己選擇要安裝的插件,插件安裝完後創建用戶和用戶名

完事後登陸.



點擊系統管理


接下來的就是下載我們需要的插件了


選擇我們需要的插件Android Lint Plugin,Gradle Plugin,svn需要的插件在安裝的時候推薦安裝裏面已經安裝好了

安裝好了後進入到系統管理->系統設置,修改系統設置


    Jenkins Location標籤中

      系統管理員郵件地址:[email protected]

    Extended E-mail Notification標籤中

      SMTP server : smtp.163.com 

      Default user E-mail suffix :[email protected]

      Default Content Type :Plain Text(text/plain)

      Default Recipients :[email protected],[email protected],...,[email protected]

      Reply To List : [email protected]

      Default Subject :構建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!

      Default Content :

        (本郵件是程序自動下發的,請勿回覆!)<br/>

        項目名稱:$PROJECT_NAME<br/>

        構建編號:$BUILD_NUMBER<br/>

        svn版本號:${SVN_REVISION}<br/>

        構建狀態:$BUILD_STATUS<br/>

        觸發原因:${CAUSE}<br/>

        構建日誌地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/>

        構建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/>

        變更集:${JELLY_SCRIPT,template="html"}<br/>

    郵件通知標籤中

      SMTP服務器:smtp.163.com

      用戶名:admin

      密碼:123456

      SMTP端口:選中SSL填465,沒選中填25

      Reply-To Address:[email protected]

      字符集:UTF-8


設置完成後就可以新建項目了


點擊ok


項目使用的是svn,如果項目使用git的話,需要下載git插件.其中源碼管理是一樣的.


注:svn倉庫地址如果需要賬號密碼登錄,直接點擊add添加


構建觸發器


下一步構建:


由於項目使用的是studio,所以選擇了gradle script:


也可以選擇Invoke gradle,系統環境變量裏配置了gradle環境變量,選擇相應的gradle版本.

使用Jenkins編譯AndroidStudio工程進行簡單地持續集成的時候,有些配置要注意。

  1. 新建Job的時候選擇使用GradleWrapper而不是單純的Gradle。AndroidStudio編譯的時候,使用的GradleWrapper,因此需要這個。具體的GradleWrapper的位置在gradlew.bat這個批處理文件中配置。因此如果編譯過程出現GradleWrapperMain找不到的時候,可以嘗試對這個批處理文件進行調試,查看信息。
  2. AndroidStudio項目的local.properties中有一個sdk.dir屬性,用於聲明sdk的地址。這個地址一般是開發機器的環境配置有關。因此Jenkins所在的機器配置可能會不一致造成sdk找不到這個錯誤。因此提交SVN的時候建議修改這個屬性值爲Jenkins所在機器的配置參數。一個相對合適的方法是刪除這個屬性,然後提交,在Jenkins所在的機器配置ANDROID_HOME這個環境變量,爲SDK的地址。這樣編譯的時候會從ANDROID_HOME這個環境變量地址去找SDK。
  3. 建議Jenkins所在機器儘可能包括最新的SDK,同時開發環境也更新到最新SDK,這樣編譯的時候就不會出現對應API版本的SDK不存在的問題。也不需要提交的時候修改API版本了。
最後是構建後操作,選擇Publish Android Lint result,Archive the artifacts,E-mail Notification插件


ok,點擊保存,構建項目


構建中...



ok,構建成功

查看項目


渠道包已經打好,點擊對應的apk,QA就可以下載安裝了.

PS:本人也是小白.第一次搞這個,踩了幾天的坑.後續會持續更新此貼.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章