Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發環境 >> jenkins遠程構建Android的過程

jenkins遠程構建Android的過程

編輯:Android開發環境

  由於企業的需求,需要做一個網站開分享每個版本的Android的app,所以需要使用的工具如下:

  Jenkins平台,遠程編譯環境服務器一台,web服務器一台,根據自己的選擇,可以搭配自己的資源,廢話少說,直奔主題

  1. Jenkins的操作

  在Jenkins中添加一個節點,設置好遠程的工作目錄,創建好服務器的標簽,然後創建好相關的環境鍵值對,比如Android_home,Java_home,Gradle_home等,這些都是比較平常的操作,這裡就不羅嗦了,值得注意的有兩點:第一,java的路徑問題,由於Jenkins的主機配置從節點,需要找特點的Java路徑,有時,類似/usr/java/jdk這樣自動編譯好的路徑,及時配置在系統路徑下,也不一定能識別,這個需要注意一下,處理方法很簡單,軟連接就OK了;第二,就是git的問題,如果軟件的管理是使用git的方法,注意你遠程節點git的版本,如果比較老舊,那就要下載編譯比較新的版本,依然注意系統的路徑,git-core是重點,如果找不到它,你想用git-remote-https的方式去pull遠程的git倉庫,那注定是失敗,哈哈,網上找找相關文章,好好查閱一下吧

  2. 遠程編譯服務器上的操作

  下面說重點的東西,就是遠程編譯服務器上的相關設置,也是本博客的重點

  使用的環境如下:

  系統:Centos6.5

  工具: zlib.i686、glibc.i686、jdk-7u79-linux-x64+(根據自己項目調整版本)、android-sdk_r23.3.4-linux 、Gradle2.4+ (Android-studio)

  由於比較倉促,我使用root操作的,當然創建一個普通用戶比較好,就是特別注意目錄的操作權限問題。

  由於我已經在一個可以翻牆的服務器上更新了sdk,這個時間你可以出去旅個游,然後回來也差不多了(下載更新地址    http://mirrors.opencas.cn/android/repository/)

  1.Java環境的下載

  2.Android環境的下載

  3.Android-studio的下載(項目的引導編譯工具gradle在裡面)

  把上述的這些寫入系統變量,簡單一下,如果是普通用戶,則在家目錄的環境配置文件中寫入,我的配置如下:

  JAVA_HOME=/usr/java/jdk1.7

  JRE_HOME=$JAVA_HOME/jre

  ANDROID_HOME=/usr/local/Android/Sdk

  PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:/usr/local/android-studio/gradle/gradle-2.4/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

  export JAVA_HOME JRE_HOME PATH CLASSPATH ANDROID_HOME

  由於android編譯需要32位C編譯包,所以 zlib.i686、glibc.i686在centos上是必備軟件

  yum install zlib.i686 glibc.i686  -y,請下載安裝

  更新的過程比較繁雜,請耐心等待吧

  然後是Jenkins裡面的項目配置了,創建一個新的項目,使用標簽,即剛才創建的從節點,一切已經配置完成

  選擇git的項目地址,添加用戶名密碼認證,選擇分支

  我這裡構建的是shell的poll scm(輪詢),每個小時一次

  構建也是使用shell操作,我的配置如下:

  cd /home/data/Android/workspace/iWu-Android_check_ticket

  rm -rf app/build/output

  export JAVA_HOME=/usr/java/jdk1.7/

  export ANDROID_HOME=/usr/local/Android/Sdk

  /usr/local/android-studio/gradle/gradle-2.4/bin/gradle -PbuildNum=B${BUILD_NUMBER} assembleRelease

  增加構建後操作

  選定你的web服務器,然後要傳輸的文件

  app/build/outputs/*.html,app/build/outputs/lint-results_files/*,app/build/outputs/apk/*.apk

  放在指定的目錄,注意遠程文件放置的配置,我這裡是

  iwu_android_check_ticket/build_${BUILD_NUMBER}(Jenkins裡面有很多的變量很好用,自行研究)

  執行的操作如下:

  cd /data/repository/iwu_android_check_ticket/build_${BUILD_NUMBER}

  mv app/build/outputs/* .

  rm -rf app

  這樣每次編譯好放置的文件目錄不會存放任何文件,避免目錄容量逐漸變大

  3. web服務器的操作

  到這裡就比較好辦了,隨便來一台web服務器,配置一下項目放置的路徑,注意web裡面的一些權限

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved