前言
??????每次寫完功能就要打包,因?yàn)轫?xiàng)目原因打包時(shí)間較長,所以就需要等待,搭完包之后還要把這個(gè)包發(fā)給測試,很不方便.那就想個(gè)辦法,實(shí)現(xiàn)一個(gè)悄悄拉取代碼,在后臺偷偷打包的方式,打完包直接生成一個(gè)二維碼測試下載安裝就好了.于是問了下度娘還真有,配置了一下午發(fā)現(xiàn)可以成功運(yùn)行,怕遺忘了所以記錄一下
一.環(huán)境搭建
1.配置Android ADB環(huán)境
??????關(guān)于Android整個(gè)開發(fā)環(huán)境的搭建碑韵,SDK的下載安裝,這里就不贅述了,配置adb環(huán)境也可以去百度一下,一大把,這里查看adb是否配置成功可以在終端輸入
adb
顯示以下信息則證明配置成功.
2.配置Gradle環(huán)境
??????配置gradle環(huán)境可以看一下我之前寫的這篇文章Mac 配置gradle環(huán)境變量.
在終端上執(zhí)行g(shù)radle -version,查看是否配置成功文搂。
gradle -version
如顯示如下表示配置成功.
3.下載Jenkins
??????下載最新的版本(一個(gè) WAR 文件),官網(wǎng)下載地址Jenkins.
??????關(guān)于Jenkins的環(huán)境什么系統(tǒng)都支持,配置的方法也差不多.我選擇的直接使用war包的方式,因?yàn)榫W(wǎng)上有的說pkg的有問題,我就沒用.選擇Weekly的 Generic Java package(.war)這個(gè)選項(xiàng).把這個(gè)war包放到某個(gè)文件下,通過控制臺來到當(dāng)前的文件夾,在控制臺輸入
java -jar jenkins.war
注意:Jenkins 需要運(yùn)行 Java 5以及以上的版本厅各。執(zhí)行這個(gè)命令之后會(huì)有一個(gè)安裝過程,等一會(huì)就好了.顯示如下的結(jié)果就證明Jenkins已經(jīng)啟動(dòng)了.
4.配置Jenkins
1.插件安裝
??????在瀏覽器輸入localhost:8080 就可以看到上面的那個(gè)小老頭了,會(huì)讓你輸入密碼,此時(shí)來到控制臺就能找到密碼,然后會(huì)有一個(gè)安裝向?qū)?會(huì)讓選擇安裝全部插件還是自定義選擇安裝,這個(gè)大家隨意.然后就會(huì)讓你設(shè)置admin賬戶,如果不懂的話可以先跳過,使用默認(rèn)的admin賬戶,如果以后再登錄忘記admin賬戶密碼的話可以到.jenkins/secrets/目錄下的initialAdminPassword文件查看密碼.操作見下圖
2.環(huán)境變量配置
??????點(diǎn)擊系統(tǒng)管理>系統(tǒng)設(shè)置>,
項(xiàng)目實(shí)戰(zhàn)
1.構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目
??????點(diǎn)擊左側(cè)菜單中的新建任務(wù),然后在新的界面輸入項(xiàng)目名字,選擇構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目選項(xiàng)完成創(chuàng)建
2.配置項(xiàng)目git地址
??????完成創(chuàng)建會(huì)跳到一個(gè)項(xiàng)目配置頁面,我們項(xiàng)目是用的gitlab,所以源碼管理我選擇的是git,在上面輸入你的git地址,如果有用SSH就自己add一下,可以選擇構(gòu)建的分支,直接輸入你的*/分支名字就好.點(diǎn)擊保存,完成git配置.
3.配置自動(dòng)拉取最新代碼
??????在構(gòu)建觸發(fā)器中铭污,有兩種自動(dòng)拉取代碼并編譯的策略:
1. 設(shè)置Poll SCM恤筛,設(shè)置定時(shí)器,定時(shí)檢查代碼更新彩郊,有更新則編譯,否則不編譯蚪缀。
第一個(gè)參數(shù)代表的是分鐘 minute秫逝,取值 0~59;
第二個(gè)參數(shù)代表的是小時(shí) hour询枚,取值 0~23违帆;
第三個(gè)參數(shù)代表的是天 day,取值 1~31金蜀;
第四個(gè)參數(shù)代表的是月 month刷后,取值 1~12;
最后一個(gè)參數(shù)代表的是星期 week渊抄,取值 0~7尝胆,0 和 7 都是表示星期天。
如H/5 * * * * 表示的就是每5分鐘檢查一次源碼變化护桦。
2.設(shè)置Build periodically含衔,周期性的執(zhí)行編譯任務(wù)。
4.編譯配置gradle
??????上面雖然編譯成功了二庵,但是你發(fā)現(xiàn)根本沒有看到APK文件贪染,所以還需要進(jìn)行下面的配置:增加構(gòu)建步驟,打開配置頁面,如果安裝gradle插件成功的話,應(yīng)該會(huì)出現(xiàn)下圖的Invoke Gradle script
1.gradle沒配置環(huán)境變量炬称。
2.因?yàn)橐话銇碚flocal.properties不會(huì)添加到版本庫汁果。 所以需要手動(dòng)copy到${WORKSPACE}下的Project目錄下(可參考自己Android Studio工程結(jié)構(gòu))。
如果構(gòu)建沒有成功也可以點(diǎn)#1這個(gè)選項(xiàng),然后點(diǎn)擊左側(cè)的控制臺輸出看一下構(gòu)建失敗的原因,這個(gè)控制臺的輸出是和我們的AS輸出一樣的.
5.上傳到測試平臺
我這里是選擇的上傳到蒲公英測試平臺,上傳方法可參考使用 Jenkins 插件上傳應(yīng)用到蒲公英.
??????這樣的一個(gè)自動(dòng)拉取代碼打包發(fā)包的過程就實(shí)現(xiàn)了.如有問題可以私信交流.