Jenkins+Gradle+Git+Pyger+二維碼搭建Android自動(dòng)打包平臺(tái)

1、下載jenkins war包

Jenkins官方網(wǎng)站下載最新的war包,然后在war的目錄下打開(kāi)cmd,執(zhí)行命令:java -jar jenkins.war
看到以下信息,就表示jenkins安裝成功了。

image

2、啟動(dòng)jenkins

第一次啟動(dòng)Jenkins時(shí),出于安全考慮,Jenkins會(huì)自動(dòng)生成一個(gè)隨機(jī)的口令。注意控制臺(tái)輸出的口令,復(fù)制下來(lái),然后在瀏覽器輸入:http://localhost:8080/
粘貼口令,進(jìn)入安裝界面,如果執(zhí)行默認(rèn)的安裝,Jenkins就自動(dòng)配置好了Maven、git等常用插件。最后,創(chuàng)建一個(gè)admin用戶,完成安裝。
啟動(dòng)Jenkins的命令:java -jar jenkins.war

3、系統(tǒng)設(shè)置->全局工具配置

JDK配置:

image

Gradle配置:

image

Git配置:需要限下載Git安裝哦~

image

4、創(chuàng)建項(xiàng)目

輸入項(xiàng)目名稱,選擇自由風(fēng)格類(lèi)型。下一步就是各種項(xiàng)目配置了(這里先不考慮構(gòu)建觸發(fā)器)。

image
image

這里是從github上拉取數(shù)據(jù)的,需要github帳號(hào):

image

構(gòu)建的設(shè)置有3項(xiàng):
Task:clean assembleRelease --refresh-dependencies
Root Build Script:${workspace}/app

Build File:${workspace}/app/build.gradle

image

image

注意,Jenkins默認(rèn)生成的文件都放在.jenkins目錄下。跟項(xiàng)目相關(guān)的是存放在workspace中,如果apk要指定輸出的路徑,需要復(fù)制工程的local.properties到.jenkins/workspace/XXX具體工程下。

image

ok,這樣子就可以開(kāi)始構(gòu)建項(xiàng)目了。

5、上傳apk到蒲公英平臺(tái)

首先,先下載插件upload to pgyer;然后在構(gòu)建后添加步驟upload to pyger,填入pgy的userkey和apikey,還有當(dāng)前apk存放路徑和名稱,這幾個(gè)是必填項(xiàng)。

image

image

具體的請(qǐng)參考:

https://www.pgyer.com/doc/view/jenkins
https://www.pgyer.com/doc/view/jenkins_plugin

6、生成二維碼
apk打包好上傳到蒲公英,成功會(huì)返回成功的信息,其中就有二維碼的地址,那么我們要如何讓這個(gè)二維碼展示在歷史記錄呢?
首先,需要下載插件“description setter plugin”,可以實(shí)現(xiàn)構(gòu)建完成后設(shè)置當(dāng)次build的描述信息。有了這個(gè)前提,我們可以以html的形式讓二維碼顯示出來(lái),但是Jenkins默認(rèn)是plain text模式,不會(huì)對(duì)html解析的。所以我們需要在全局安全設(shè)置(Configure Global Security),將Markup Formatter的設(shè)置更改為Safe HTML即可。

<a href="${appBuildURL}"><img src="${appQRCodeURL}" width="118" height="118"/></a>

image

具體參考:
http://blog.csdn.net/u011904605/article/details/54619549

7、配置郵箱通知
因?yàn)橄到y(tǒng)自帶的郵件通知配置只能通知到一個(gè)郵箱接受者,所以我們這邊用的是插件: Email Extension Plugin。
下載安裝完成后,在構(gòu)建后添加步驟Editable Email Notification:

image

這樣子配置完,你打完包會(huì)發(fā)現(xiàn),沒(méi)有發(fā)送郵件給接收者,提示“ No emails were triggered.”。解決辦法是點(diǎn)擊左邊的“系統(tǒng)管理”菜單,選擇右邊的“系統(tǒng)設(shè)置”,找到Extend E-mail Notification進(jìn)行全局配置。

image

image

image

再不行的話,在具體項(xiàng)目中設(shè)置觸發(fā)器:


image

遇到的問(wèn)題

1、第一次構(gòu)建項(xiàng)目時(shí),編譯失敗,報(bào)錯(cuò)信息為“Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap”。
解決辦法:Android工程目錄打開(kāi)gradle.properties,找到 org.gradle.jvmargs=-Xmx2048m,將org.gradle.jvmargs=-Xmx2048m 改為org.gradle.jvmargs=-Xmx1024m保存。jenkins重新構(gòu)建Android項(xiàng)目,這時(shí)可構(gòu)建成功。

2、提示“ An attempt to send an e-mail to empty list of recipients, ignored.”
這是Extend Email Plugin的一個(gè)bug,解決辦法如圖:

image

多渠道打包參考這篇文章:

http://www.th7.cn/Program/Android/201702/1109247.shtml

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容