Jenkins自動打包配置
當時也是花費了不少時間來配置Jenkins自動打包的問題,覺得還是需要記錄一下。
1.安裝Jenkins,這個很簡單,不需要多說。
2.下載Git Plugin,Gradle Plugin,Android Emulator Plugin(這個可以配置SDK路徑,覺得這個外掛挺好),
Email Extension Plugin 郵件提醒外掛,自帶的郵件提醒外掛確實太弱。
3.配置,SDK路徑,JDK路徑,Git路徑,Gradle路徑。
配置git:
git config –global user.name “name”
git config –global user.email email
檢視:
cat /root/.gitconfig
root是指當前的使用者
生成公鑰和私鑰:
ssh-keygen -t rsa -C “email”
郵件配置:
Default Subject
構建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content
<hr/>
(本郵件是程式自動下發的,請勿回覆!)<br/><hr/>
專案名稱:$PROJECT_NAME<br/><hr/>
構建編號:$BUILD_NUMBER<br/><hr/>
構建狀態:$BUILD_STATUS<br /><hr/>
觸發原因:${CAUSE}<br/><hr/>
構建日誌地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>
構建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>
變更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
4.專案配置
4.1構建一個自由風格的軟體專案
4.2git地址配置,我們是專門建立一個使用者用來拉取專案打包,如果使用ssh記得配置私鑰和公鑰(我們是使用gitblit,需要在gitblit上面配置公鑰,Jenkins裡面配置私鑰)
分支配置
Additional Behaviours
高階配置,clone時間等
4.3Poll SCM,觸發器配置
H/30 23 * * 1-5 表示星期一到星期五每天晚上23:30分構建一次。
第一個引數代表的是分鐘 minute,取值 0~59;
第二個引數代表的是小時 hour,取值 0~23;
第三個引數代表的是天 day,取值 1~31;
第四個引數代表的是月 month,取值 1~12;
第五個引數代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
如H/5 表示的就是每5分鐘檢查一次原始碼變化。
4.4配置gradle task
由於每個專案,每個修改的使用者都不一樣,所以我們的gradle.properties是配置在電腦的user/.gradle/gradle.properties這裡的,這個檔案裡面配置了我們的私有maven庫的地址,keystore的位置,所以呢,我們專案裡面的gradle.properties是空的,會單獨寫個config.gradle檔案來重新生成這個檔案。這個檔案執行可以防止setting.gradle裡面,因為這個是最先執行的,但是這樣的話,會有干擾,因為只有Jenkins打包的時候才會需要重新修改gradle.properties檔案,所以呢,我們這個檔案是獨立的。
配置gradle命令執行config.gradle檔案裡面的task
-q -b config.gradle taskname 大概是這樣
配置clean等命令
clean build
執行完成之後可以在寫個gradle檔案去執行把打包好的apk檔案拷貝到指定的地點。
4.5郵件配置
主要是高階設定裡面,需要配置,Triggers,觸發什麼時候需要發郵件。
哈哈,當然,我這篇文章寫的簡短,但是其實過程中遇到很多問題,大概折騰兩三天,Win上面還好,Linux上面會有很多依賴庫的問題,我是分別在Linux和Windows上面都除錯好了滴。