配置 Jenkins 自動化打包,折騰了一段時間,折騰完成就感還是蠻大的,說白了就是一次配置長期受益吧。事先聲明 CentOS 7上其實還是沒有配置成功,自己的服務器 1核 1G 內存打包的話感覺配置還是低了,最后在自己本地Mac上跑通了,用自己電腦當服務器,平常用足夠了?,F總結一些遇到坑,為后來人多鋪點路吧。。。
1.一開始對 CentOS 7系統(tǒng)不熟悉,直接上手在上面進行配置,出了問題很難排查,應該先在本地跑通然后再在服務器上配置。
2.在 CentOS 7上安裝 jdk sdk gradle git 等組件的時候一頓用 yum install 命令亂裝,沒有一開始規(guī)劃好各組件的存放位置,致使在 Jenkins 上各組件配置的時候找不到存放路徑,又是一頓谷歌。。。
3.沒有認清 Android SDK在 Mac 跟 Linux 下的差距,直接將本地 Mac上的 sdk上傳到服務器上,導致運行 build 命令的時候總是出問題,折騰了幾天。然后在https://developer.android.com/studio/ 里面下載 Linux 下的

4.git配置的時候頁面 顯示Failed to connect...
網上搜的一般都是SSH證書沒認證啥的,但是我這邊拉 git 代碼都是通過 HTTP 方式進行連接的,一般這問題都是賬號跟密碼沒有填寫正確所致。但是以前在上家公司用的打包機,有項目打包,以前能用突然有一天不能用了,項目管理里面 git 就報這個錯,但是其他項目沒有影響,賬號跟密碼是一致的,找問題沒有解決,應該是jenkins里面沒有識別git的環(huán)境變量,直接執(zhí)行git命令執(zhí)行不了。
5.git 拉代碼的時候連接10分鐘超時問題
jenkins 應該是默認有個10分鐘編譯時間,有時候項目比較大,在服務器上部署的時候拉代碼比較慢,時常出這問題,配置如下解決問題

6.jenkins 顯示時間出問題
jenkins修改時區(qū),修改/etc/sysconfig/jenkins
JENKINS_JAVA_OPTIONS="-Duser.timezone=Asia/Shanghai"
改完重啟jenkins
7.打包 apk 以后的上傳
一般都是上傳到蒲公英或者 fir,他們都有相對應的上傳插件,不用自己去寫 Python 命令調用接口進行上傳,方便操作。
7.Build History 定制,最后效果如下:

description setter plugin 插件直接在Jenkins 里面的插件管理里面就能找到安裝。
8.標記格式器中找不到safe html選項
谷歌了很多都是答非所問,其實就是沒有裝插件 OWASP Markup Formatter

參考:
Jenkins+Git+python+Pgyer Android打包發(fā)布實踐
Android Jenkins+Git+Gradle持續(xù)集成-實在太詳細
Android持續(xù)集成:Jenkins+Github+蒲公英/Fir.im+郵件通知
Jenkins的系統(tǒng)消息和郵件通知配置