System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于軟件升級領域,尤其涉及一種網絡隔離場景下的自動化升級方法及系統。
技術介紹
1、當前常用的軟件交付流程ci/cd適用于各種互聯網軟件交付場景,可以極大地提高交付效率,但是在測試和生成環境網絡隔離的特殊場景的情況下暴露了一些問題:
2、在生產環境眾多且異構,環境信息不同,比如ip地址,比如域名信息,比如服務端口等都不相同的情況下,傳統的ci/cd流程無法做到配置文件的準確發布;
3、升級上線過程中必然會出現的數據庫升級,涉及到數據庫表結構、數據庫數據的升級變更,傳統的ci/cd流程也無法做到數據庫的準確升級;
4、在測試環境和生產環境割裂,網絡隔離的場景,傳統的ci/cd流程就無法覆蓋,導致需要大量的人工介入,甚至是回歸最原始的人工原子化升級部署程度。
技術實現思路
1、鑒于以上現有技術的不足,專利技術的目的在于提供一種網絡隔離場景下的自動化升級方法及系統。
2、本專利技術第一方面提供一種網絡隔離場景下的自動化升級方法,包括:
3、s1:接收變更代碼,將所述變更代碼打包獲得待部署代碼包;
4、s2:連通所述變更代碼對應的測試環境,根據所述待部署代碼包的測試環境的數據庫文件生成待部署數據庫包;
5、s3:拉取所述測試環境中的配置信息,獲得待部署配置包;
6、s4:根據所述待部署數據庫包進行目標數據庫的對比升級及數據導入,根據所述待部署配置包進行目標系統的配置更新,根據所述待部署
7、根據本專利技術提供的一種網絡隔離場景下的自動化升級方法,步驟s1進一步包括:
8、s11:拉取測試環境倉庫中的最新的變更代碼;
9、s12:將所述變更代碼對應的服務包與打包腳本進行匹配,打包獲得待部署鏡像文件;
10、s13:將所述待部署鏡像文件推送至鏡像倉庫,獲得待部署代碼包。
11、根據本專利技術提供的一種網絡隔離場景下的自動化升級方法,步驟s2中,所述待部署代碼包的測試環境的數據庫文件的獲取步驟進一步包括:
12、s211:匹配所述測試環境的數據庫分支;
13、s212:拉取所述數據庫分支的當前數據庫文件;
14、s213:根據所述變更代碼對所述當前數據庫文件進行數據庫文件替換,獲得更新后的變更數據庫服務。
15、根據本專利技術提供的一種網絡隔離場景下的自動化升級方法,步驟s2中,所述待部署數據庫包的生成步驟進一步包括:
16、s221:匹配所述待部署代碼包對應的待部署數據庫分支;
17、s222:根據所述待部署數據庫分支由數據庫遠程倉庫拉取待部署數據庫文件;
18、s223:由所述待部署數據庫文件打包獲得待部署數據庫包。
19、根據本專利技術提供的一種網絡隔離場景下的自動化升級方法,步驟s2中的所述待部署數據庫包包括:待部署表結構數據、數據庫靜態數據、數據庫增量存儲過程。
20、根據本專利技術提供的一種網絡隔離場景下的自動化升級方法,步驟s3進一步包括:
21、s31:保存所述測試環境內所有配置信息對應的鍵值對信息;
22、s32:根據所述變更代碼對所述鍵值對信息進行更新,獲得變更鍵值對信息;
23、s33:拉取所述變更環境中的當前版本配置文件,將當前版本配置文件對應的待部署md5值及變更鍵值對信息打包獲得待部署配置包。
24、根據本專利技術提供的一種網絡隔離場景下的自動化升級方法,步驟s4中,根據所述待部署數據庫包進行目標數據庫的對比升級及數據導入的步驟進一步包括:
25、s411:接收所述待部署數據庫包;
26、s412:對目標數據庫進行全庫備份,獲得備份表結構;
27、s413:對比所述備份表結構與所述待部署表結構數據,獲得表結構更新sql;
28、s414:執行所述表結構更新sql,導入所述數據庫靜態數據,導入數據庫增量存儲過程。
29、根據本專利技術提供的一種網絡隔離場景下的自動化升級方法,步驟s4中,根據待部署配置包進行目標系統的配置更新的步驟進一步包括:
30、s421:接收所述待部署配置包;
31、s422:解析目標系統的環境中配置文件的當前md5值;
32、s423:對比所述當前md5值與所述待部署md5值,獲得差異項;
33、s424:根據待部署md5值更新所述差異項,并同步變更鍵值對信息。
34、根據本專利技術提供的一種網絡隔離場景下的自動化升級方法,步驟s4中,根據所述待部署代碼包進行目標系統的代碼部署的步驟進一步包括:
35、s431:接收所述待部署代碼包;
36、s432:將所述待部署鏡像文件部署至目標系統的目標服務器上;
37、s433:通過其它鏡像拉起所述目標服務器的容器;
38、s434:通過所述容器進行監控及測試。
39、本專利技術第二方面還提供一種網絡隔離場景下的自動化升級系統,用以執行如以上任一項所述的一種網絡隔離場景下的自動化升級方法,包括:
40、發布中心,所述發布中心包括:數據庫集成發布模塊、配置文件集成發布模塊、代碼集成發布模塊;
41、所述數據庫集成發布模塊包括:用于匹配當前測試環境對應的數據庫的數據庫分支管理單元、生成待部署數據庫包的數據發布單元;所述配置文件集成發布模塊包括:更新當前配置信息鍵值對信息的配置單元、生成待部署配置包的配置發布單元;所述代碼集成發布模塊包括用于打包變更代碼獲得待部署代碼包;
42、部署中心,所述部署中心包括:數據庫集成部署模塊、配置文件集成部署模塊、代碼集成部署模塊;
43、所述數據庫集成部署模塊用于根據所述待部署數據庫包進行目標數據庫的對比升級及數據導入;所述配置文件集成部署模塊用于根據所述待部署配置包進行目標系統的配置更新;所述代碼集成部署模塊用于根據所述待部署代碼包進行目標系統的代碼部署。
44、本專利技術有益效果如下:
45、本專利技術提供的一種網絡隔離場景下的自動化升級方法及系統,在傳統ci/cd能力的基礎上,解決了配置文件多環境上線適配的問題,能夠適配各種異構的線上生產環境,實現配置文件的自動化升級發布;還解決了數據庫表結構升級混亂、數據升級沖突、各種存儲過程異常的情況,實現上線過程中的數據庫自動化升級發布;而對于網絡隔離問題,本專利技術解決了測試環境和生成環境割裂,ci/cd流程無法正常執行的問題,實現去人工化的自動化升級上線流程,總體上實現了配置文件、數據庫、代碼的持續集成,持續發布的需求,并且將傳統ci/cd流程拆分為松耦合的ci和cd流程,適用于測試和生產環境網絡隔離的場景,能夠提升在線升級效率,降低錯誤率,保障系統運行環境。
本文檔來自技高網...【技術保護點】
1.一種網絡隔離場景下的自動化升級方法,其特征在于,包括:
2.根據權利要求1所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟S1進一步包括:
3.根據權利要求1所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟S2中,所述待部署代碼包的測試環境的數據庫文件的獲取步驟進一步包括:
4.根據權利要求3所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟S2中,所述待部署數據庫包的生成步驟進一步包括:
5.根據權利要求1所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟S2中的所述待部署數據庫包包括:待部署表結構數據、數據庫靜態數據、數據庫增量存儲過程。
6.根據權利要求1所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟S3進一步包括:
7.根據權利要求5所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟S4中,根據所述待部署數據庫包進行目標數據庫的對比升級及數據導入的步驟進一步包括:
8.根據權利要求6所述的一種網絡隔離場景下的自動化升級方法,其特征
9.根據權利要求2所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟S4中,根據所述待部署代碼包進行目標系統的代碼部署的步驟進一步包括:
10.一種網絡隔離場景下的自動化升級系統,用以執行如權利要求1-9任一項所述的一種網絡隔離場景下的自動化升級方法,其特征在于,包括:
...【技術特征摘要】
1.一種網絡隔離場景下的自動化升級方法,其特征在于,包括:
2.根據權利要求1所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟s1進一步包括:
3.根據權利要求1所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟s2中,所述待部署代碼包的測試環境的數據庫文件的獲取步驟進一步包括:
4.根據權利要求3所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟s2中,所述待部署數據庫包的生成步驟進一步包括:
5.根據權利要求1所述的一種網絡隔離場景下的自動化升級方法,其特征在于,步驟s2中的所述待部署數據庫包包括:待部署表結構數據、數據庫靜態數據、數據庫增量存儲過程。
6.根據權利要求1所述的一種網絡隔離...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。