Android使用Jenkins打包上傳蒲公英

Android環(huán)境變量

系統(tǒng)管理 - > 全局屬性-> 配置環(huán)境變量


設(shè)置環(huán)境變量
/Users/superman/Library/Android/sdk

系統(tǒng)管理 - > 全局工具配置-> 配置JDK、gradle,git等


jdk
/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
git
/usr/local/bin/git
gradle

我此處用的是6.5版本,根據(jù)自己APP來(lái)設(shè)置

/Users/superman/.gradle/wrapper/dists/gradle-6.5-all/2oz4ud9k3tuxjg84bbf55q0tn/gradle-6.5

通用

通用

留8個(gè)包。。。

源碼管理

添加賬號(hào)就行了

修改添加的賬號(hào):系統(tǒng)管理 -> Manage Credentials Configure credentials

構(gòu)建觸發(fā)器

構(gòu)建觸發(fā)器

每5分鐘檢測(cè)一次代碼有新改動(dòng)就構(gòu)建

H/5 * * * * 

周一到周五每天10點(diǎn)到晚上8點(diǎn)每隔4小時(shí)構(gòu)建一次

H 10-20/4 * * 1-5
語(yǔ)法表

第一個(gè)是代表分鐘 H 表示隨機(jī)
第二個(gè)是代表小時(shí) 9-15/4 9點(diǎn)到下午三點(diǎn)期間的每隔4個(gè)小時(shí)
第三個(gè)是代表天 * 任意一天
第四個(gè)是代表月份 1-11 表示1到11月份
第五個(gè)是代表星期 1-5 表示工作日

沒有用到 H 隨機(jī)的話,不要加括號(hào) 
H(9-18) 9點(diǎn)到18點(diǎn) 中隨機(jī)的一個(gè)點(diǎn) 
eg: 
* * * * * 表示任何一個(gè)時(shí)間段,同一個(gè)時(shí)間都可能會(huì)觸發(fā)執(zhí)行。不建議使用 
H/30 * * * * 表示每天每隔 30分鐘構(gòu)建一次 
H 4-19/3 * * * 表示,一天的凌晨點(diǎn)到下午7點(diǎn),每隔3個(gè)小時(shí)構(gòu)建一次 
* * 3-5 * * 表示,每個(gè)月的3號(hào),4號(hào),5號(hào) 都會(huì)被構(gòu)建,具體時(shí)間未知 
* * * * 1-5 表示,工作日時(shí)會(huì)構(gòu)建,具體時(shí)間未知 
H/30 8-19/3 1-28 1-11 1-5 表示 在1月到11月中的1號(hào)-28號(hào),每個(gè)工作日,早晨的8點(diǎn)到下午7點(diǎn)每隔3.5個(gè)小時(shí)會(huì)觸發(fā)構(gòu)建

構(gòu)建

構(gòu)建

兩種方式上傳安裝包到蒲公英

蒲公英文檔

第一種:


蒲公英Jenkins插件

第二種:
使用shell命令:

curl -F "file=@/tmp/example.apk" -F "uKey=" -F "_api_key=" https://qiniu-storage.pgyer.com/apiv1/app/upload 

命令上傳
curl -F "file=@apk/com.bfonline.online1.0.0_server-release.apk" -F "uKey=c263d105c08915a0fb1fa7dec613ef7a" -F "_api_key=5ef6d1c5c5bc931fc5245acdecfb128d" https://qiniu-storage.pgyer.com/apiv1/app/upload

構(gòu)建后操作

歸檔

首先在gradle里配置打包完移動(dòng)到apk目錄下

applicationVariants.all {
        //判斷是release還是debug版本
        def buildType = it.buildType.name
        def fileName
        //下面的channel是獲取渠道號(hào)
        def channel = "server"
        //只對(duì)Release包起作用,如果不是Release包則不變更輸出路徑,否則可能導(dǎo)致AS無(wú)法自動(dòng)安裝debug包。
        if (buildType == "release") {
            it.getPackageApplication().outputDirectory = new File(project.rootDir.absolutePath + "/apk")
        }
        it.outputs.each {
            //只對(duì)Release包起作用,如果不是Release包則不變更名稱。
            if (buildType == "release") {
                //我此處的命名規(guī)則是:渠道名_項(xiàng)目名_版本名_創(chuàng)建時(shí)間_構(gòu)建類型.apk
                fileName = "com.bfonline.online${defaultConfig.versionName}_${channel}-${buildType}.apk"
                //重新對(duì)apk命名。
                it.outputFileName = fileName
            }
        }
    }

企業(yè)微信通知

webhook插件

企業(yè)微信通知

也可以在蒲公英中設(shè)置webhook

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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