jenkins 遠程構建Android的過程詳解
由于企業(yè)的需求,需要做一個網(wǎng)站開分享每個版本的Android的app,所以需要使用的工具如下:
Jenkins平臺,遠程編譯環(huán)境服務器一臺,web服務器一臺,根據(jù)自己的選擇,可以搭配自己的資源,廢話少說,直奔主題
1. Jenkins的操作
在Jenkins中添加一個節(jié)點,設置好遠程的工作目錄,創(chuàng)建好服務器的標簽,然后創(chuàng)建好相關的環(huán)境鍵值對,比如Android_home,Java_home,Gradle_home等,這些都是比較平常的操作,這里就不羅嗦了,值得注意的有兩點:第一,java的路徑問題,由于Jenkins的主機配置從節(jié)點,需要找特點的Java路徑,有時,類似/usr/java/jdk這樣自動編譯好的路徑,及時配置在系統(tǒng)路徑下,也不一定能識別,這個需要注意一下,處理方法很簡單,軟連接就OK了;第二,就是git的問題,如果軟件的管理是使用git的方法,注意你遠程節(jié)點git的版本,如果比較老舊,那就要下載編譯比較新的版本,依然注意系統(tǒng)的路徑,git-core是重點,如果找不到它,你想用git-remote-https的方式去pull遠程的git倉庫,那注定是失敗,哈哈,網(wǎng)上找找相關文章,好好查閱一下吧
2. 遠程編譯服務器上的操作
下面說重點的東西,就是遠程編譯服務器上的相關設置,也是本博客的重點
使用的環(huán)境如下:
系統(tǒng):Centos6.5
工具: zlib.i686、glibc.i686、jdk-7u79-linux-x64+(根據(jù)自己項目調(diào)整版本)、android-sdk_r23.3.4-linux 、Gradle2.4+ (Android-studio)
由于比較倉促,我使用root操作的,當然創(chuàng)建一個普通用戶比較好,就是特別注意目錄的操作權限問題。
由于我已經(jīng)在一個可以翻墻的服務器上更新了sdk,這個時間你可以出去旅個游,然后回來也差不多了(下載更新地址 http://mirrors.opencas.cn/android/repository/)
1.Java環(huán)境的下載
2.Android環(huán)境的下載
3.Android-studio的下載(項目的引導編譯工具gradle在里面)
把上述的這些寫入系統(tǒng)變量,簡單一下,如果是普通用戶,則在家目錄的環(huán)境配置文件中寫入,我的配置如下:
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里面的項目配置了,創(chuàng)建一個新的項目,使用標簽,即剛才創(chuàng)建的從節(jié)點,一切已經(jīng)配置完成
選擇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服務器,然后要傳輸?shù)奈募?/p>
app/build/outputs/*.html,app/build/outputs/lint-results_files/*,app/build/outputs/apk/*.apk
放在指定的目錄,注意遠程文件放置的配置,我這里是
iwu_android_check_ticket/build_${BUILD_NUMBER}(Jenkins里面有很多的變量很好用,自行研究)
執(zhí)行的操作如下:
cd /data/repository/iwu_android_check_ticket/build_${BUILD_NUMBER}
mv app/build/outputs/* .
rm -rf app
這樣每次編譯好放置的文件目錄不會存放任何文件,避免目錄容量逐漸變大
3. web服務器的操作
到這里就比較好辦了,隨便來一臺web服務器,配置一下項目放置的路徑,注意web里面的一些權限
以上就是jenkins 遠程構建Android的過程的資料整理,后續(xù)繼續(xù)補充相關資料,謝謝大家對本站的支持!
相關文章
Android使用RecyclerView實現(xiàn)今日頭條頻道管理功能
這篇文章主要為大家詳細介紹了Android使用RecyclerView實現(xiàn)今日頭條頻道管理功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07Android動畫之3D翻轉(zhuǎn)效果實現(xiàn)函數(shù)分析
Android中的翻轉(zhuǎn)動畫效果的實現(xiàn),Android中并沒有提供直接做3D翻轉(zhuǎn)的動畫,所以關于3D翻轉(zhuǎn)的動畫效果需要我們自己實現(xiàn),那么我們首先來分析一下Animation 和 Transformation,感興趣的朋友可以了解下啊2013-01-01Android編程實現(xiàn)列表側(cè)滑刪除的方法詳解
這篇文章主要介紹了Android編程實現(xiàn)列表側(cè)滑刪除的方法,結(jié)合實例形式詳細分析了Android列表側(cè)滑刪除功能的原理與具體實現(xiàn)技巧,注釋中包含詳盡的說明,需要的朋友可以參考下2018-01-01Android實現(xiàn)recyclerview城市字母索引列表
大家好,本篇文章主要講的是Android實現(xiàn)recyclerview城市字母索引列表,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01