版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
如何通過自動(dòng)化,解放程序員?打包代碼庫SVNGITAB...渠道包master分支測(cè)試包測(cè)試程序員是宇宙的中心,權(quán)力越大,責(zé)任越大,累??!測(cè)試包和渠道包分開打包,如何保證完全一致?打包代碼與代碼庫代碼如何保證一致?A、B開發(fā)不同的功能,如何協(xié)作?代碼庫Jekins打包GerritCodeReviewGITAB...渠道包gitflow分支管理發(fā)版測(cè)試包測(cè)試功能開發(fā)測(cè)試包程序員是宇宙的中心,權(quán)力越大,責(zé)任越大,累?。ekins持續(xù)集成系統(tǒng)測(cè)試包和渠道包分開打包,如何保證完全一致?改變生成渠道包的方式打包代碼與代碼庫代碼如何保證一致?Jekins持續(xù)集成系統(tǒng)A、B開發(fā)不同的功能,如何協(xié)作?gitflow分支管理、gerritcodereview如何通過自動(dòng)化,解放程序員?Jekins持續(xù)集成系統(tǒng)GerritCodeReviewGitFlow分支管理快速生成多渠道包Jekins持續(xù)集成系統(tǒng)主動(dòng)拉取分支代碼,并編譯。編譯結(jié)果郵件通知開發(fā),測(cè)試。支持多個(gè)分支同時(shí)編譯。觸發(fā)自動(dòng)化測(cè)試觸發(fā)FindBug等代碼檢查插件GerritCodeReviewCodeReview的目的是挑錯(cuò)嗎?GitFlow分支管理MasterABCv1.0v1.1MasterABCv1.0v1.1Develop場(chǎng)景1
:A提交了新feature代碼,由于有bug,導(dǎo)致編譯出問題,
影響B(tài)、C的開發(fā)場(chǎng)景2:發(fā)版測(cè)試中,B不小心提交了自己的測(cè)試代碼:GitFlow分支管理充分利用Git的分支(branch)和合并(merge)GitFlow分支管理GitFlow分支管理模型情景1:新功能開發(fā)時(shí)(Feature)情景2:版本發(fā)布時(shí)(Release)情景3:解決線上版本Bug時(shí)(HotFix)GitFlow增強(qiáng)指令集gitflowfeaturegitflowreleasegitflowhotfix中文:英文:工具:主分支Master分支:所有提供給用戶使用的正式版本,都在這個(gè)主分支上發(fā)布。任一個(gè)節(jié)點(diǎn),都是可發(fā)布版本v1.0v1.1v1.2Develop分支:所有功能最后都會(huì)被整合到這個(gè)分支,并且這個(gè)分支也是DailyBuild的分支。當(dāng)該分支達(dá)到穩(wěn)定,準(zhǔn)備發(fā)布版本,就會(huì)分配Release版本號(hào),Merge到Master分支。Master和Develop作為主分支,永久存在情景1:新功能開發(fā)時(shí)(Feature)Feature輔助分支:當(dāng)開發(fā)新feature時(shí),從develop中創(chuàng)建feature分支.開發(fā)完成后,通過CI自動(dòng)編譯,進(jìn)行測(cè)試和Bugfix該Feature穩(wěn)定后,并決定成為下一個(gè)版本的功能,Merge回develop分支。優(yōu)點(diǎn):每個(gè)新feature都在自己的分支,跟develop進(jìn)行了隔離,開發(fā)中不會(huì)影響其他人gitflowfeaturegitflowfeaturestartchat_groupgitflowfeaturefinishchat_group情景2:版本發(fā)布時(shí)(Release)developreleasemasterRelease輔助分支:準(zhǔn)備發(fā)布版本時(shí),從develop創(chuàng)建release分支,通過CI自動(dòng)編譯,進(jìn)行測(cè)試和bugfix,穩(wěn)定后發(fā)布版本。并merge回develop和master。優(yōu)點(diǎn):Release代碼在單獨(dú)分支,其他人可以繼續(xù)對(duì)develop操作,不影響版本發(fā)布gitflowreleasegitflowreleasestartv1.1gitflowreleasefinishv1.1情景3:解決線上版本Bug時(shí)(HotFix)Hotfix輔助分支:線上版本出現(xiàn)bug,從master根據(jù)tag創(chuàng)建hotfix分支,解決bug,通過CI自動(dòng)編譯,測(cè)試和Bugfix,最后發(fā)布修正版本。將hotfixmerge回develop和master優(yōu)點(diǎn):Hotfix在單獨(dú)分支,防止受其他分支的提交影響,而引入未知buggitflowhotfixgitflowhotfixstartv1.2.1gitflowhotfixfinishv1.2.1主分支(永久):masterdevelop輔助分支(臨時(shí)):FeaturebranchesReleasebranchesHotfixbranchesgitflowfeaturegitflowreleasegitflowhotfixGitFlow增強(qiáng)指令集Git增強(qiáng)指令集:安裝:$brewinstallgit-flow初始化:$gitflowinitNobranchesexistyet.Basebranchesmustbecreatednow.Branchnameforproductionreleases:[master]Branchnamefor"nextrelease"development:[develop]Howtonameyoursupportingbranchprefixes?Featurebranches?[feature/]Releasebranches?[release/]Hotfixbranches?[hotfix/]Supportbranches?[support/]Versiontagprefix?[]快速生成多渠道包目的:統(tǒng)計(jì)這些市場(chǎng)的效果(活躍數(shù),下單數(shù)等)滿足不同市場(chǎng)的審核要求
例如:?jiǎn)?dòng)圖必須有特定logo標(biāo)識(shí)方法:為不同渠道分配唯一的channel號(hào)例如:豌豆莢:30000,應(yīng)用寶:30001,安智:30002ApkTool方式apktool是一個(gè)逆向工程工具,可以用它解碼(decode)并修改apk中的資源ApkPython腳本替換AndroidManifest.xml<meta-data>Apk-unsignedApkTool構(gòu)建ApkApk-resignedJarsigner重簽名ApkToolDecode該方法只需構(gòu)建一次,大大節(jié)省了時(shí)間適合渠道包不是太多的情況渠道包太多時(shí),100多個(gè)渠道包,大約1個(gè)小時(shí)尋找更快的方式思考:能否直接修改apk的渠道號(hào),而不需要再重新簽名?這樣將省掉不少時(shí)間ApkApk解壓添加空文件壓縮META-INF中添加空文件,不需要重新簽名尋找更快的方式如何在app中讀取渠道號(hào)?找到安裝文件apk解壓遍歷找到META-INF/channel_讀到渠道號(hào):30001尋找更快的方式j(luò)ava-jarApkChannelTool.jar/Users/MLS/Documents/apk/meimiao.apk3000030001300023000330004300053000630007....生成100多個(gè)渠道包要多久?1分鐘適配渠道包(Gradle)渠道A,要求應(yīng)用啟動(dòng)圖必須帶市場(chǎng)圖標(biāo)渠道B,要求必須集成該渠道的特定SDK渠道C,要求應(yīng)用不準(zhǔn)帶自動(dòng)升級(jí)提示渠道D,要求....渠道A分支渠道B分支渠道C分支Master渠道少了,還基本能搞定渠道一多,對(duì)工程師簡(jiǎn)直就是噩夢(mèng)適配渠道包(Gradle)Gradleflavor讓一切變簡(jiǎn)單了Build.gradle定義了2個(gè)flavor:baidu、tencent,為每個(gè)Flavor指定了渠道號(hào)(可配置更多的屬性)同時(shí),Gradle還會(huì)為該flavor關(guān)聯(lián)對(duì)應(yīng)的sourceSet,默認(rèn)位置為src/<flavorName>目錄,對(duì)應(yīng)到本例就是src/baidugradleassembleBaidu編譯Baidu渠道包gradleassembleRelease編譯所有渠道包案例1:使用不同包名手機(jī)版(com.meilishuo.app)和hd版(com.meilishuo.app.hd),兩個(gè)版本使用了不同的代碼。目前hd版對(duì)應(yīng)的代碼已不再維護(hù),希望能直接使用手機(jī)版的代碼上面的代碼添加了一個(gè)名為hd的flavor,并指定了應(yīng)用的包名為com.meilishuo.app.hdgradleassembleHd編譯hd渠道包案例2:控制是否自動(dòng)更新客戶端在啟動(dòng)時(shí)會(huì)默認(rèn)檢查客戶端是否有更新,如果有更新就會(huì)提示用戶下載。但是有些渠道和應(yīng)用市場(chǎng)不允許這種默認(rèn)行為,所以在適配這些渠道時(shí)需要禁止自動(dòng)更新功能gradleassembleXiaomi編譯生成不自動(dòng)升級(jí)的渠道包案例3:更換啟動(dòng)圖與有些應(yīng)用市場(chǎng)有合作協(xié)議,要求為渠道包設(shè)置特定啟動(dòng)頁。例如:有應(yīng)用市場(chǎng)圖標(biāo)增加OPPO的flavor,在工程建立/src/oppo/res/drawable-xhdpi/目錄,將特定的啟動(dòng)頁圖片拷到該目錄其他渠道不會(huì)將該splash.png打到包中。只有Oppo編譯時(shí)才會(huì)將該splash.png替換默認(rèn)的splash.png圖片/src/oppo/res/drawable-xhdpi/splash.pnggradleassembleOppo編譯生成oppo渠道包案例4:第三方SDK與OPPO應(yīng)用市場(chǎng)有合作協(xié)議,渠道包中的應(yīng)用推薦需要使用OPPO提供的SDK,但是其他渠道不需要。增加OPPO的flavor,并且指定編譯和運(yùn)行時(shí)都依賴opposdk。其他渠道只是在構(gòu)建的時(shí)候依賴該SDK,打包的時(shí)候并不會(huì)添加它通過反射機(jī)制,檢查SDK是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《砌體結(jié)構(gòu)章》課件
- 《電壓比較器的應(yīng)用》課件
- 單位管理制度合并選集【人力資源管理篇】十篇
- 單位管理制度分享匯編人力資源管理篇
- 單位管理制度呈現(xiàn)合集人力資源管理篇
- 寒假自習(xí)課 25春初中道德與法治八年級(jí)下冊(cè)教學(xué)課件 第三單元 第五課 第3課時(shí) 基本經(jīng)濟(jì)制度
- 《員工考績(jī)計(jì)算》課件
- 中國風(fēng)國潮風(fēng)古風(fēng)模板120
- 2013年高考語文試卷(福建)(空白卷)
- 建材行業(yè)會(huì)計(jì)資金運(yùn)作監(jiān)督工作總結(jié)
- 人教版(2024)八年級(jí)上冊(cè)物理期末測(cè)試卷(含答案)
- 2024關(guān)于家長(zhǎng)會(huì)家長(zhǎng)代表發(fā)言稿(30篇)
- 中醫(yī)內(nèi)科學(xué):中醫(yī)內(nèi)科學(xué)肢體經(jīng)絡(luò)病證考試題(題庫版)
- 燈具行業(yè)采購工作總結(jié)
- 大學(xué)寫作智慧樹知到期末考試答案章節(jié)答案2024年麗水學(xué)院
- NB-T31022-2012風(fēng)力發(fā)電工程達(dá)標(biāo)投產(chǎn)驗(yàn)收規(guī)程
- GJB9001C產(chǎn)品風(fēng)險(xiǎn)評(píng)估報(bào)告
- 2024年天津三源電力集團(tuán)限公司社會(huì)招聘33人【重點(diǎn)基礎(chǔ)提升】模擬試題(共500題)附帶答案詳解
- 蘇教版六年級(jí)上冊(cè)科學(xué)期末測(cè)試卷帶答案
- 中式婚宴主題宴會(huì)設(shè)計(jì)方案策劃(2篇)
- 媒介與性別文化傳播智慧樹知到期末考試答案章節(jié)答案2024年浙江工業(yè)大學(xué)
評(píng)論
0/150
提交評(píng)論