本發(fā)明涉及計(jì)算機(jī)應(yīng)用,尤其是涉及一種小程序構(gòu)建發(fā)布方法及系統(tǒng)。
背景技術(shù):
1、隨著小程序的技術(shù)不斷發(fā)展,越來越多的公司為自己的產(chǎn)品加入了小程序的能力,但由于每家公司都是獨(dú)立運(yùn)營的,每家公司對(duì)于自家的小程序會(huì)有自己的一套標(biāo)準(zhǔn),無論是代碼規(guī)范還是開發(fā)工具,都是完全獨(dú)立的。但對(duì)于需要將自己的產(chǎn)品接入多家小程序平臺(tái)的公司來說,除了需要組建相應(yīng)的開發(fā)團(tuán)隊(duì)開發(fā)產(chǎn)品之外,還需要為每一個(gè)需要設(shè)計(jì)、開發(fā)、測試這個(gè)小程序的人員申請(qǐng)開放對(duì)應(yīng)小程序平臺(tái)的權(quán)限,才能保證人員順利的進(jìn)行發(fā)布操作。但第三方小程序平臺(tái)通常會(huì)對(duì)使用者做出一定的限制,并且隨著小程序項(xiàng)目規(guī)模的逐漸增加,構(gòu)建與發(fā)布過程可能也會(huì)消耗較多的時(shí)間,而在真實(shí)的小程序開發(fā)過程中,除了開發(fā)人員本身,小程序的設(shè)計(jì)人員與測試人員往往也需要讓開發(fā)人員生成一個(gè)臨時(shí)包用來測試小程序,而生成臨時(shí)包的過程可能也會(huì)占用開發(fā)人員寶貴的時(shí)間。
2、因此,現(xiàn)有小程序構(gòu)建發(fā)布方式中存在的問題主要包括:相關(guān)人員需要申請(qǐng)第三方小程序平臺(tái)的權(quán)限,而第三方小程序平臺(tái)通常限制較多;小程序構(gòu)建發(fā)布耗時(shí)較長;測試小程序需要開發(fā)人員生成臨時(shí)包,額外占用開發(fā)人員時(shí)間;在需要同一個(gè)產(chǎn)品接入多個(gè)小程序平臺(tái)以及需要同一個(gè)小程序平臺(tái)接入多個(gè)產(chǎn)品時(shí)所進(jìn)行的配置操作比較繁瑣。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明的目的在于提供一種小程序構(gòu)建發(fā)布方法及系統(tǒng),以緩解現(xiàn)有小程序構(gòu)建發(fā)布方式中存在的上述問題。
2、第一方面,本發(fā)明實(shí)施例提供了一種小程序構(gòu)建發(fā)布方法,所述方法應(yīng)用于小程序構(gòu)建發(fā)布系統(tǒng),所述系統(tǒng)包括后臺(tái)管理平臺(tái)、構(gòu)建發(fā)布平臺(tái)、代碼托管平臺(tái)以及計(jì)算集群,所述代碼托管平臺(tái)中預(yù)先存儲(chǔ)有用于構(gòu)建所述小程序的腳本以及用于發(fā)布所述小程序的加密憑證;所述方法包括:所述后臺(tái)管理平臺(tái)建立所述小程序的構(gòu)建發(fā)布任務(wù),并將所述構(gòu)建發(fā)布任務(wù)發(fā)送給所述構(gòu)建發(fā)布平臺(tái);所述構(gòu)建發(fā)布平臺(tái)執(zhí)行所述構(gòu)建發(fā)布任務(wù)以進(jìn)行所述小程序的構(gòu)建和發(fā)布,并將所述小程序的構(gòu)建產(chǎn)物傳輸至所述計(jì)算集群;其中,所述小程序的構(gòu)建和發(fā)布包括:從所述代碼托管平臺(tái)中獲取所述腳本和所述加密憑證,并執(zhí)行所述腳本以進(jìn)行所述小程序的構(gòu)建,之后將所述加密憑證傳輸給所述小程序所對(duì)應(yīng)的云服務(wù)器進(jìn)行校驗(yàn),并在所述小程序構(gòu)建成功且所述云服務(wù)器校驗(yàn)所述加密憑證通過后將所述構(gòu)建產(chǎn)物傳輸給所述云服務(wù)器以進(jìn)行所述小程序的發(fā)布;所述構(gòu)建發(fā)布平臺(tái)在所述小程序發(fā)布成功后,基于所述腳本生成并顯示表征所述小程序的發(fā)布版本的編碼信息,以及將所述編碼信息傳輸至所述計(jì)算集群;其中,所述編碼信息是由所述小程序的發(fā)布版本經(jīng)過編碼后得到的;所述構(gòu)建發(fā)布平臺(tái)在所述小程序發(fā)布失敗后,基于所述腳本生成并顯示表征所述小程序發(fā)布失敗原因的錯(cuò)誤信息。
3、第二方面,本發(fā)明實(shí)施例還提供一種小程序構(gòu)建發(fā)布系統(tǒng),所述系統(tǒng)包括后臺(tái)管理平臺(tái)、構(gòu)建發(fā)布平臺(tái)、代碼托管平臺(tái)以及計(jì)算集群,所述代碼托管平臺(tái)中預(yù)先存儲(chǔ)有用于構(gòu)建所述小程序的腳本以及用于發(fā)布所述小程序的加密憑證;所述后臺(tái)管理平臺(tái)用于建立所述小程序的構(gòu)建發(fā)布任務(wù),并將所述構(gòu)建發(fā)布任務(wù)發(fā)送給所述構(gòu)建發(fā)布平臺(tái);所述構(gòu)建發(fā)布平臺(tái)用于執(zhí)行所述構(gòu)建發(fā)布任務(wù)以進(jìn)行所述小程序的構(gòu)建和發(fā)布,并將所述小程序的構(gòu)建產(chǎn)物傳輸至所述計(jì)算集群;其中,所述小程序的構(gòu)建和發(fā)布包括:從所述代碼托管平臺(tái)中獲取所述腳本和所述加密憑證,并執(zhí)行所述腳本以進(jìn)行所述小程序的構(gòu)建,之后將所述加密憑證傳輸給所述小程序所對(duì)應(yīng)的云服務(wù)器進(jìn)行校驗(yàn),并在所述小程序構(gòu)建成功且所述云服務(wù)器校驗(yàn)所述加密憑證通過后將所述構(gòu)建產(chǎn)物傳輸給所述云服務(wù)器以進(jìn)行所述小程序的發(fā)布;所述構(gòu)建發(fā)布平臺(tái)還用于在所述小程序發(fā)布成功后,基于所述腳本生成并顯示表征所述小程序的發(fā)布版本的編碼信息,以及將所述編碼信息傳輸至所述計(jì)算集群;其中,所述編碼信息是由所述小程序的發(fā)布版本經(jīng)過編碼后得到的;所述構(gòu)建發(fā)布平臺(tái)還用于在所述小程序發(fā)布失敗后,基于所述腳本生成并顯示表征所述小程序發(fā)布失敗原因的錯(cuò)誤信息。
4、本發(fā)明實(shí)施例提供的一種小程序構(gòu)建發(fā)布方法及系統(tǒng),代碼托管平臺(tái)中預(yù)先存儲(chǔ)有用于構(gòu)建小程序的腳本以及用于發(fā)布小程序的加密憑證;后臺(tái)管理平臺(tái)建立小程序的構(gòu)建發(fā)布任務(wù),并將構(gòu)建發(fā)布任務(wù)發(fā)送給構(gòu)建發(fā)布平臺(tái);構(gòu)建發(fā)布平臺(tái)執(zhí)行構(gòu)建發(fā)布任務(wù)以進(jìn)行小程序的構(gòu)建和發(fā)布(包括從代碼托管平臺(tái)中獲取腳本和加密憑證并執(zhí)行腳本,以及將加密憑證傳輸給小程序所對(duì)應(yīng)的云服務(wù)器進(jìn)行校驗(yàn)并在小程序構(gòu)建成功且云服務(wù)器校驗(yàn)加密憑證通過后將構(gòu)建產(chǎn)物傳輸給云服務(wù)器),并將小程序的構(gòu)建產(chǎn)物傳輸至計(jì)算集群;構(gòu)建發(fā)布平臺(tái)在小程序發(fā)布成功后,基于腳本生成并顯示表征小程序的發(fā)布版本的編碼信息,以及將編碼信息傳輸至計(jì)算集群;構(gòu)建發(fā)布平臺(tái)在小程序發(fā)布失敗后,基于腳本生成并顯示表征小程序發(fā)布失敗原因的錯(cuò)誤信息。采用上述技術(shù),由于用于與小程序所對(duì)應(yīng)云服務(wù)器進(jìn)行通信的加密憑證已經(jīng)預(yù)先存儲(chǔ)在代碼托管平臺(tái)中了,因而在進(jìn)行小程序的構(gòu)建和發(fā)布時(shí)可直接從托管平臺(tái)獲取加密憑證完成加密憑證的校驗(yàn),以避免向小程序所對(duì)應(yīng)云服務(wù)器申請(qǐng)小程序的權(quán)限,從而提高小程序構(gòu)建和發(fā)布的整體效率;且在小程序構(gòu)建成功后將構(gòu)建產(chǎn)物壓縮傳輸給計(jì)算集群進(jìn)行存檔,能夠便于相關(guān)人員在計(jì)算集群側(cè)對(duì)構(gòu)建產(chǎn)物進(jìn)行審計(jì),從而便于在小程序構(gòu)建過程出現(xiàn)問題時(shí)對(duì)問題原因進(jìn)行分析;此外,在小程序發(fā)布成功時(shí)向計(jì)算集群傳輸編碼信息以及在小程序發(fā)布失敗時(shí)生成并顯示錯(cuò)誤信息,可以便于相關(guān)人員通過編碼信息解碼出構(gòu)建產(chǎn)物以及通過錯(cuò)誤信息知曉小程序發(fā)布失敗原因,提高了小程序構(gòu)建的直觀性。
5、本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
6、為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
1.一種小程序構(gòu)建發(fā)布方法,其特征在于,所述方法應(yīng)用于小程序構(gòu)建發(fā)布系統(tǒng),所述系統(tǒng)包括后臺(tái)管理平臺(tái)、構(gòu)建發(fā)布平臺(tái)、代碼托管平臺(tái)以及計(jì)算集群,所述代碼托管平臺(tái)中預(yù)先存儲(chǔ)有用于構(gòu)建所述小程序的腳本以及用于發(fā)布所述小程序的加密憑證;所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述構(gòu)建發(fā)布平臺(tái)包括分布式的多個(gè)計(jì)算節(jié)點(diǎn);所述代碼托管平臺(tái)中預(yù)先存儲(chǔ)有所述腳本所對(duì)應(yīng)的依賴文件;在所述后臺(tái)管理平臺(tái)建立所述小程序的構(gòu)建發(fā)布任務(wù)之前,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述后臺(tái)管理平臺(tái)建立所述小程序的構(gòu)建發(fā)布任務(wù),包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述持續(xù)集成工具為jenkins,所述應(yīng)用容器為docker容器;在采用持續(xù)集成工具在所述構(gòu)建發(fā)布平臺(tái)上為每個(gè)計(jì)算節(jié)點(diǎn)建立相應(yīng)的應(yīng)用容器之前,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述代碼托管平臺(tái)為git倉庫;所述構(gòu)建發(fā)布平臺(tái)從所述代碼托管平臺(tái)獲取所述腳本和所述加密憑證,并將所述加密憑證配置給目標(biāo)應(yīng)用容器,包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述編碼信息包括二維碼;所述構(gòu)建發(fā)布平臺(tái)基于所述腳本生成并顯示表征所述小程序的發(fā)布版本的編碼信息,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述后臺(tái)管理平臺(tái)通過http接口與所述構(gòu)建發(fā)布平臺(tái)連接;所述方法還包括:
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括:
10.一種小程序構(gòu)建發(fā)布系統(tǒng),其特征在于,所述系統(tǒng)包括后臺(tái)管理平臺(tái)、構(gòu)建發(fā)布平臺(tái)、代碼托管平臺(tái)以及計(jì)算集群,所述代碼托管平臺(tái)中預(yù)先存儲(chǔ)有用于構(gòu)建所述小程序的腳本以及用于發(fā)布所述小程序的加密憑證;