Jenkins奇技淫巧 — 安裝篇(mac)
Jenkins奇技淫巧 — 配置篇
Jenkins奇技淫巧 — 安全篇
Jenkins奇技淫巧 — 發(fā)送郵件篇
Jenkins奇技淫巧 — 全局變量篇
Jenkins奇技淫巧 — 新建任務(wù)篇
Jenkins奇技淫巧 — 插件篇
Jenkins奇技淫巧 — 問(wèn)題篇
Jenkins奇技淫巧 — 命令篇
Jenkins奇技淫巧 — 環(huán)境配置篇(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — 參數(shù)化構(gòu)建篇(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — 第一次實(shí)戰(zhàn)篇(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — Python打包篇(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — Python發(fā)送郵件和上傳蒲公英(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — 樂(lè)固,多渠道打包篇(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — 節(jié)點(diǎn)管理篇
Jenkins奇技淫巧 — 優(yōu)秀文章篇
簡(jiǎn)介
這篇文章,以自己熟悉的領(lǐng)域桑阶,自動(dòng)化構(gòu)建Android應(yīng)用為例畅涂,帶大家從基本的配置到能夠用Jenkins實(shí)現(xiàn)Android自動(dòng)化打包港华,其中包含了Android打包所需要的環(huán)境,工具午衰,構(gòu)建后發(fā)送郵件通知項(xiàng)目組成員等立宜。
配置頁(yè)面,很多選項(xiàng)都可以配置多個(gè)臊岸,比如“構(gòu)建”可以添加多個(gè)執(zhí)行步驟橙数,這些按照添加的先后順序執(zhí)行操作,這樣就可以實(shí)現(xiàn)更多和先后順序有關(guān)的操作帅戒。
Android構(gòu)建環(huán)境配置
參考:
https://developer.android.google.cn/studio/command-line/sdkmanager
構(gòu)建Android應(yīng)用灯帮,我們需要下載sdk,gradle工具等蜘澜。當(dāng)然施流,這個(gè)并沒(méi)有什么困難,大不了安裝一個(gè)Android studio鄙信,通過(guò)可視化界面瞪醋,下載sdk,gradle等装诡,但是银受,當(dāng)我們?cè)谧约旱姆?wù)器上,拷貝可能要花費(fèi)很長(zhǎng)時(shí)間鸦采,或者自己的服務(wù)器本來(lái)配置就差宾巍,如果再安裝一個(gè)Android Studio,感覺(jué)不太理想渔伯,再比如顶霞,用的阿里云的服務(wù)器,沒(méi)有可視化界面的時(shí)候锣吼,那又該怎么安裝環(huán)境呢选浑?下面我將帶大家一起通過(guò)命令行配置Android構(gòu)建需要的環(huán)境。
-
sdk管理命令工具:sdkmanager
到https://developer.android.google.cn/studio下載sdk-tools玄叠,下載后解壓到你指定的目錄下古徒。zip包,Linux可以用unzip直接解壓即可读恃。
在tools -> bin下面有一個(gè)可執(zhí)行文件sdkmanager隧膘,使用“sdkmanager --help”查看使用方法代态,下面我們就用它來(lái)安裝Android SDK所需要的其它工具。列出已安裝和可用的包
sdkmanager --list [options]-
安裝包
sdkmanager packages [options]
這里的“packages”就是上面通過(guò) “sdkmanager --list ”列出的名字疹吃。通過(guò)“sdkmanager --package_file=下載清單文件路徑”進(jìn)行批量下載
下載清單只需要放置“--list”中的名稱蹦疑,每個(gè)換行。- 安裝"platform-tools" "platforms;android-26","build-tools;28.0.2","extras;android;m2repository"包
sdkmanager "platform-tools" "platforms;android-26" "build-tools;28.0.2" "extras;android;m2repository "
安裝好了互墓,目錄下就會(huì)有這些文件必尼,有了這些文件,基本sdk需要的文件就好了篡撵。
sdk目錄是我自己創(chuàng)建的判莉,我將下載好的文件移動(dòng)到這個(gè)目錄下,方便管理育谬,patcher和ndk-bundle用同樣的方法下載即可券盅。
Android構(gòu)建任務(wù)配置
安裝好了Android構(gòu)建所需要的sdk環(huán)境,下面我將帶大家一起看看膛檀,怎么配置Android構(gòu)建任務(wù)的環(huán)境配置锰镀,只有配置好了任務(wù)所需的配置,才能成功構(gòu)建出Android應(yīng)用咖刃。
還記得上一篇文章講解的創(chuàng)建任務(wù)的流程泳炉,我們創(chuàng)建了第一個(gè)Jenkins任務(wù),下面將以這個(gè)任務(wù)為例來(lái)進(jìn)行講解嚎杨。
點(diǎn)擊任務(wù)花鹅,進(jìn)入任務(wù)首頁(yè),點(diǎn)擊左側(cè)配置枫浙,進(jìn)入任務(wù)配置頁(yè)面刨肃。這里只講解比較重要的部分,其它大家想一想就知道怎么配置以及有什么作用箩帚。
GitHub 項(xiàng)目
當(dāng)需要從GitHub遠(yuǎn)程倉(cāng)庫(kù)拉去項(xiàng)目代碼時(shí)真友,在這里填寫你GitHub上的項(xiàng)目地址,比如:https://github.com/bubian/BlogProject.git/丟棄舊的構(gòu)建
配置舊的構(gòu)建文件的緩存策略參數(shù)化構(gòu)建過(guò)程
通過(guò)配置參數(shù)紧帕,在構(gòu)建時(shí)可以選擇自己想要的參數(shù)盔然,比如獲取遠(yuǎn)程倉(cāng)庫(kù)分支,并在構(gòu)建時(shí)選擇自己想要構(gòu)建的分支是嗜,當(dāng)然不使用參數(shù)化構(gòu)建也能構(gòu)建出Android應(yīng)用轻纪,但是使用參數(shù)化構(gòu)建會(huì)使自動(dòng)化化構(gòu)建變得更加好用,這一點(diǎn)我將在下一篇文章講解叠纷,這一篇目的是簡(jiǎn)單的構(gòu)建一個(gè)Android應(yīng)用。-
源碼管理
填寫倉(cāng)庫(kù)的地址即可
如果我們有多個(gè)項(xiàng)目需要配置潦嘶,那該怎么辦呢涩嚣,這里推薦一款插件崇众,可以幫助我們進(jìn)行多個(gè)項(xiàng)目的管理——Multiple SCMs
- 構(gòu)建觸發(fā)器
觸發(fā)啟動(dòng)任務(wù)的方式 - 構(gòu)建環(huán)境
構(gòu)建前,后等所做的額外操作 - 構(gòu)建
構(gòu)建應(yīng)用的方式- Invoke Gradle script
執(zhí)行g(shù)radle文件航厚,調(diào)用工程下面的build.gradle文件顷歌,選擇“invoke Gradle script”后。Gradle Version可以選擇默認(rèn)幔睬,這將由Jenkins指定gradle使用的版本眯漩,當(dāng)然也可以自己設(shè)置,還記得我們?cè)?a href="http://www.reibang.com/p/6632b47d6ab0" target="_blank">Jenkins奇技淫巧 — 配置篇(mac)里面講解“全局工具配置”里面有寫Gradle配置麻顶,如果那個(gè)地方配置了赦抖,這里可以下拉選擇我們配置的Gradle版本。
- Invoke Gradle script
- 執(zhí)行shell
通過(guò)shell命令執(zhí)行構(gòu)建辅肾,比如./gradlew assembleDebug队萤,Android Studio打包也是調(diào)用的該命令。所以這里使用shell命令執(zhí)行構(gòu)建矫钓。
- 構(gòu)建后操作
選擇“E-mail Notification”和Editable Email Notification,發(fā)送郵件配置
這里基本上都是默認(rèn)要尔,在“ Triggers”標(biāo)簽選擇觸發(fā)的情況,以及收件人類型
開(kāi)始構(gòu)建
基本配置完成新娜,點(diǎn)擊任務(wù)右側(cè)構(gòu)建按鈕赵辕,即可以啟動(dòng)應(yīng)用構(gòu)建。