国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于組件版本滾動(dòng)管理的移動(dòng)應(yīng)用構(gòu)建方法和系統(tǒng)與流程

      文檔序號:40280617發(fā)布日期:2024-12-11 13:19閱讀:14來源:國知局
      一種基于組件版本滾動(dòng)管理的移動(dòng)應(yīng)用構(gòu)建方法和系統(tǒng)與流程

      本發(fā)明涉及移動(dòng)應(yīng)用開發(fā),尤其涉及一種基于組件版本滾動(dòng)管理的移動(dòng)應(yīng)用構(gòu)建方法和系統(tǒng)。


      背景技術(shù):

      1、在安卓(android)系統(tǒng)中,一般使用gradle(一種項(xiàng)目自動(dòng)化構(gòu)建開源工具)進(jìn)行應(yīng)用的編譯打包,組件描述信息寫在gradle.properties里,如下圖,oa是組件名,版本號是2.2.0。

      2、在ios系統(tǒng)中,一般使用xcode進(jìn)行編譯打包,組件描述信息卸載podfile里,ylcommonui是組件名稱,使用類似“branch=>master”的形式表示版本號,箭頭后指向的可能是分支名,也可能是gitlab?tag版本號。

      3、由于移動(dòng)應(yīng)用會(huì)包含很多組件,實(shí)際開發(fā)中會(huì)分多個(gè)組進(jìn)行開發(fā),不同團(tuán)隊(duì)對不同組件的開發(fā)的組件會(huì)有交叉,而且每個(gè)團(tuán)隊(duì)在開發(fā)前設(shè)計(jì)到哪些組件是不確定的,因此涉及到頻繁的配置文件和組件版本號的管理等問題。目前,移動(dòng)端組件化是很普遍的問題,對于多團(tuán)隊(duì)來說溝通定義本次應(yīng)用發(fā)版相關(guān)的組件版本信息是個(gè)很頭疼的問題。

      4、在現(xiàn)有技術(shù)中,主要通過每次多人共同維護(hù)一個(gè)配置文件的方式來解決,或者通過團(tuán)隊(duì)內(nèi)或跨團(tuán)隊(duì)的頻繁溝通以在代碼里直接修改配置文件內(nèi)容,以在打包時(shí)直接使用的方式來解決應(yīng)用發(fā)版相關(guān)的組件版本信息保持一致的問題。

      5、現(xiàn)有技術(shù)存在的問題包含:(1)人工溝通成本高、效率低下。(2)人工修改組件版本號,容易遺漏或者弄錯(cuò)組件版本號。(3)每次移動(dòng)應(yīng)用發(fā)版打包使用組件版本號是基于開發(fā)人員提交的代碼定義,而不是自動(dòng)生成,可能導(dǎo)致配信息錯(cuò)誤。

      6、本發(fā)明所要克服的技術(shù)問題包含:

      7、(1)涉及組件開發(fā)的多個(gè)開發(fā)組如何統(tǒng)一組件版本號。

      8、(2)如何避免團(tuán)隊(duì)內(nèi)或跨團(tuán)隊(duì)頻繁的溝通配置文件的修改。

      9、(3)新增組件開發(fā)時(shí),如何快速同步組件版本號。

      10、(4)移動(dòng)應(yīng)用編譯打包時(shí),如何自動(dòng)修改配置文件的組件版本號。

      11、(5)移動(dòng)應(yīng)用發(fā)版后,如何自動(dòng)更新默認(rèn)組件版本號。


      技術(shù)實(shí)現(xiàn)思路

      1、鑒于此,本發(fā)明實(shí)施例提供了一種基于組件版本滾動(dòng)管理的移動(dòng)應(yīng)用構(gòu)建方法和系統(tǒng),以消除或改善現(xiàn)有技術(shù)中存在的一個(gè)或更多個(gè)缺陷。

      2、本發(fā)明的一個(gè)方面提供了一種基于組件版本滾動(dòng)管理的移動(dòng)應(yīng)用構(gòu)建方法,該方法包括以下步驟:在移動(dòng)應(yīng)用創(chuàng)建的初始化階段,cicd平臺獲取由開發(fā)人員預(yù)先定義的移動(dòng)應(yīng)用包含的組件的默認(rèn)組件信息和預(yù)先定義的基于后續(xù)發(fā)版時(shí)間的組件版本號信息,所述默認(rèn)組件信息包含關(guān)聯(lián)的移動(dòng)應(yīng)用唯一標(biāo)識和當(dāng)前版本號,所述組件版本號信息包含各個(gè)發(fā)版時(shí)間涉及修改的組件版本號信息和默認(rèn)組件版本號信息;在每個(gè)發(fā)版時(shí)間,cicd平臺獲取移動(dòng)應(yīng)用唯一標(biāo)識和基于發(fā)版時(shí)間的組件版本號信息的關(guān)聯(lián)數(shù)據(jù);每當(dāng)cicd平臺接收到由開發(fā)人員創(chuàng)建的配置文件生成任務(wù),cicd平臺利用ansible腳本從已構(gòu)建的移動(dòng)應(yīng)用中獲取當(dāng)前配置文件,按照預(yù)先定義的基于本次發(fā)版時(shí)間的組件版本號信息和所述默認(rèn)組件信息重新生成本次發(fā)版時(shí)間的配置文件,重新生成的配置文件覆蓋在先的配置文件,并將重新生成的配置文件上傳到用于管理配置文件的云平臺,以使得在本地開發(fā)和移動(dòng)應(yīng)用出包過程中能夠從云平臺獲取本次發(fā)版時(shí)間的配置文件;在每次移動(dòng)應(yīng)用出包過程中,從云平臺獲取本次發(fā)版時(shí)間的配置文件,基于獲取的配置文件、所述關(guān)聯(lián)的移動(dòng)應(yīng)用唯一標(biāo)識和所述關(guān)聯(lián)數(shù)據(jù)流水線式編譯打包,得到本次發(fā)版時(shí)間的上線應(yīng)用包;在每次移動(dòng)應(yīng)用上線完成后,cicd平臺基于本次發(fā)版時(shí)間對應(yīng)的組件版本號信息更新所述默認(rèn)組件信息。

      3、在本發(fā)明的一些實(shí)施例中,所述默認(rèn)組件信息還包含組件基本描述信息,所述組件基本描述信息包含組件名稱、組件版本號、組件功能描述、作者信息、支持信息中的多種;所述方法還包括:在開發(fā)人員進(jìn)行本地開發(fā)的過程中,從所述云平臺獲取本次發(fā)版時(shí)間的配置文件。

      4、在本發(fā)明的一些實(shí)施例中,所述cicd平臺利用ansible腳本從已構(gòu)建的移動(dòng)應(yīng)用中獲取當(dāng)前配置文件的步驟,包含:所述cicd平臺利用ansible腳本克隆已構(gòu)建的移動(dòng)應(yīng)用的代碼,在克隆的代碼中找到當(dāng)前配置文件。

      5、在本發(fā)明的一些實(shí)施例中,所述按照預(yù)先定義的基于本次發(fā)版時(shí)間的組件版本號信息和所述默認(rèn)組件信息重新生成本次發(fā)版時(shí)間的配置文件的步驟,包括:在獲取的當(dāng)前配置文件的基礎(chǔ)上,按照預(yù)先定義的基于本次發(fā)版時(shí)間的組件版本號信息修改所述當(dāng)前配置文件包含的組件版本號信息,對于不涉及修改的組件按照所述默認(rèn)組件信息的記載,重新生成本次發(fā)版時(shí)間的配置文件。

      6、在本發(fā)明的一些實(shí)施例中,所述用于管理配置文件的云平臺包含gitlab、github、bitbucket、azure?devops和gitea平臺中的任一種。

      7、在本發(fā)明的一些實(shí)施例中,所述基于獲取的配置文件、所述關(guān)聯(lián)的移動(dòng)應(yīng)用唯一標(biāo)識和所述關(guān)聯(lián)數(shù)據(jù)流水線式編譯打包的步驟,包括:在移動(dòng)應(yīng)用出包過程中,觸發(fā)編譯打包任務(wù)并獲取移動(dòng)應(yīng)用信息,通過移動(dòng)應(yīng)用信息進(jìn)行代碼克隆,通過關(guān)聯(lián)數(shù)據(jù)和關(guān)聯(lián)的移動(dòng)應(yīng)用唯一標(biāo)識將獲取的配置文件替代移動(dòng)應(yīng)用代碼里包含的原本的配置文件,對替代后的移動(dòng)應(yīng)用代碼進(jìn)行編譯打包。

      8、在本發(fā)明的一些實(shí)施例中,在移動(dòng)應(yīng)用出包過程中的編譯打包任務(wù)通過xcode工具或gradle工具來實(shí)現(xiàn)。

      9、本發(fā)明的另一方面提供了一種基于組件版本滾動(dòng)管理的移動(dòng)應(yīng)用構(gòu)建系統(tǒng),該系統(tǒng)包括處理器、存儲器及存儲在存儲器上的計(jì)算機(jī)程序/指令,所述處理器用于執(zhí)行所述計(jì)算機(jī)程序/指令,當(dāng)所述計(jì)算機(jī)程序/指令被執(zhí)行時(shí)該系統(tǒng)實(shí)現(xiàn)如上實(shí)施例中任一項(xiàng)所述方法的步驟。

      10、本發(fā)明的另一方面提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上實(shí)施例中任一項(xiàng)所述方法的步驟。

      11、本發(fā)明的另一方面提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上實(shí)施例中任一項(xiàng)所述方法的步驟。

      12、本發(fā)明所提出的基于組件版本滾動(dòng)管理的移動(dòng)應(yīng)用構(gòu)建方法和系統(tǒng),能夠降低移動(dòng)應(yīng)用構(gòu)建過程中的人工溝通成本,減少人工操作,保障移動(dòng)應(yīng)用構(gòu)建的穩(wěn)定性和安全性,實(shí)現(xiàn)組件版本管理的自動(dòng)化,不易出錯(cuò)遺漏,且組件版本管理的效率顯著高于人工。本發(fā)明所提出的方法和系統(tǒng)能夠在多人、多團(tuán)隊(duì)協(xié)作構(gòu)建移動(dòng)應(yīng)用過程中實(shí)現(xiàn)高效的組件版本號滾動(dòng)管理以及與打包編譯結(jié)合。

      13、本發(fā)明的附加優(yōu)點(diǎn)、目的,以及特征將在下面的描述中將部分地加以闡述,且將對于本領(lǐng)域普通技術(shù)人員在研究下文后部分地變得明顯,或者可以根據(jù)本發(fā)明的實(shí)踐而獲知。本發(fā)明的目的和其它優(yōu)點(diǎn)可以通過在說明書以及附圖中具體指出的結(jié)構(gòu)實(shí)現(xiàn)到并獲得。

      14、本領(lǐng)域技術(shù)人員將會(huì)理解的是,能夠用本發(fā)明實(shí)現(xiàn)的目的和優(yōu)點(diǎn)不限于以上具體所述,并且根據(jù)以下詳細(xì)說明將更清楚地理解本發(fā)明能夠?qū)崿F(xiàn)的上述和其他目的。



      技術(shù)特征:

      1.一種基于組件版本滾動(dòng)管理的移動(dòng)應(yīng)用構(gòu)建方法,其特征在于,所述方法包括以下步驟:

      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述默認(rèn)組件信息還包含組件基本描述信息,所述組件基本描述信息包含組件名稱、組件版本號、組件功能描述、作者信息、支持信息中的多種;

      3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述cicd平臺利用ansible腳本從已構(gòu)建的移動(dòng)應(yīng)用中獲取當(dāng)前配置文件的步驟,包含:

      4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述按照預(yù)先定義的基于本次發(fā)版時(shí)間的組件版本號信息和所述默認(rèn)組件信息重新生成本次發(fā)版時(shí)間的配置文件的步驟,包括:

      5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述用于管理配置文件的云平臺包含gitlab、github、bitbucket、azure?devops和gitea平臺中的任一種。

      6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于獲取的配置文件、所述關(guān)聯(lián)的移動(dòng)應(yīng)用唯一標(biāo)識和所述關(guān)聯(lián)數(shù)據(jù)流水線式編譯打包的步驟,包括:

      7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在移動(dòng)應(yīng)用出包過程中的編譯打包任務(wù)通過xcode工具或gradle工具來實(shí)現(xiàn)。

      8.一種基于組件版本滾動(dòng)管理的移動(dòng)應(yīng)用構(gòu)建系統(tǒng),包括處理器、存儲器及存儲在存儲器上的計(jì)算機(jī)程序/指令,其特征在于,所述處理器用于執(zhí)行所述計(jì)算機(jī)程序/指令,當(dāng)所述計(jì)算機(jī)程序/指令被執(zhí)行時(shí)該系統(tǒng)實(shí)現(xiàn)如權(quán)利要求1至7中任一項(xiàng)所述方法的步驟。

      9.一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序/指令,其特征在于,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7中任一項(xiàng)所述方法的步驟。

      10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,其特征在于,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至7中任一項(xiàng)所述方法的步驟。


      技術(shù)總結(jié)
      本發(fā)明提供一種基于組件版本滾動(dòng)管理的移動(dòng)應(yīng)用構(gòu)建方和系統(tǒng),所述方法包括:在移動(dòng)應(yīng)用創(chuàng)建的初始化階段,CICD平臺獲取默認(rèn)組件信息和組件版本號信息;在每個(gè)發(fā)版時(shí)間,CICD平臺獲取移動(dòng)應(yīng)用唯一標(biāo)識和基于發(fā)版時(shí)間的組件版本號信息的關(guān)聯(lián)數(shù)據(jù);對于配置文件生成任務(wù),CICD平臺利用Ansible腳本獲取當(dāng)前配置文件,重新生成本次發(fā)版時(shí)間的配置文件、覆蓋并上傳到云平臺;在每次移動(dòng)應(yīng)用出包過程中,從云平臺獲取本次發(fā)版時(shí)間的配置文件,得到本次發(fā)版時(shí)間的上線應(yīng)用包;在每次移動(dòng)應(yīng)用上線完成后,CICD平臺基于本次發(fā)版時(shí)間對應(yīng)的組件版本號信息更新所述默認(rèn)組件信息。本發(fā)明能夠減少人工溝通成本,將組件版本號滾動(dòng)管理和與移動(dòng)應(yīng)用編譯打包的步驟結(jié)合。

      技術(shù)研發(fā)人員:姜勇,楊雷,李印,李國豐
      受保護(hù)的技術(shù)使用者:中企云鏈股份有限公司
      技術(shù)研發(fā)日:
      技術(shù)公布日:2024/12/10
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1