1.一種針對分散式部署服務軟體程式的線上升級方法,其特徵在於,包括如下步驟:S101.將服務軟體程式拆分為若干個應用子程式,然後將各個應用子程式分別以Docker應用容器的形式一一對應地執行在目標伺服器中,其中,所述目標伺服器預先安裝有Docker應用容器引擎和Jenkins終端軟體程式;S102.登入Jenkins伺服器,並新建線上監控專案,在該線上監控專案中配置從程式版本管理伺服器拉取升級程式程式碼的第一引數;S103.登入程式版本管理伺服器,設定關聯Jenkins伺服器的第二引數;S104.程式版本管理伺服器在收到來自軟體開發端的服務軟體程序升級包後,向Jenkins伺服器傳送程序升級操作請求訊息,其中,所述服務軟體程序升級包封裝有以應用子程式名命名的升級程式程式碼,所述程序升級操作請求訊息包含有在所述服務軟體程序升級包中的所有應用子程式名;
S105.Jenkins伺服器在收到所述程序升級操作請求訊息後,針對與所述應用子程式名對應的目標伺服器,觸發遠端構建任務,並透過執行在該目標伺服器的Jenkins終端軟體程式,將從程式版本管理伺服器拉取的且與所述應用子程式名對應的升級程式程式碼傳送至該目標伺服器;
S106.目標伺服器在收到完整的升級程式程式碼後,啟動Maven程式包,將該升級程式程式碼封裝為Maven容器;S107.目標伺服器將所述Maven容器的映象推送到本地Docker私有庫中,完成對與所述應用子程式名對應的Docker應用容器映象的更新;S108.關機重啟目標伺服器,啟動Docker應用容器引擎,從所述Docker私有庫中獲取與所述應用子程式名對應的Docker應用容器映象,然後重新以Docker應用容器的形式執行應用子程式,完成線上升級。
2、使用 Http 線上自動升級程式。
在VCKBase看到一個是使用 FTP 的,想到 FTP 需要使用者名稱密碼,許多程式如KFW 防火牆都能監看到程式傳送的資料包,為防止密碼洩露,故自己選用Http來做更新。我的思路是用命令列傳遞程式名稱、版本號和 Update.ini 配置檔案的 URL。
然後是查詢可用的更新,先透過 ChttpFile 將 Update.INI 檔案下載到系統臨時目錄下,然後呼叫 GetPrivateProfileString 讀取網上最新的版本號以及要更新的檔案,判斷是否需要更新
1.一種針對分散式部署服務軟體程式的線上升級方法,其特徵在於,包括如下步驟:S101.將服務軟體程式拆分為若干個應用子程式,然後將各個應用子程式分別以Docker應用容器的形式一一對應地執行在目標伺服器中,其中,所述目標伺服器預先安裝有Docker應用容器引擎和Jenkins終端軟體程式;S102.登入Jenkins伺服器,並新建線上監控專案,在該線上監控專案中配置從程式版本管理伺服器拉取升級程式程式碼的第一引數;S103.登入程式版本管理伺服器,設定關聯Jenkins伺服器的第二引數;S104.程式版本管理伺服器在收到來自軟體開發端的服務軟體程序升級包後,向Jenkins伺服器傳送程序升級操作請求訊息,其中,所述服務軟體程序升級包封裝有以應用子程式名命名的升級程式程式碼,所述程序升級操作請求訊息包含有在所述服務軟體程序升級包中的所有應用子程式名;
S105.Jenkins伺服器在收到所述程序升級操作請求訊息後,針對與所述應用子程式名對應的目標伺服器,觸發遠端構建任務,並透過執行在該目標伺服器的Jenkins終端軟體程式,將從程式版本管理伺服器拉取的且與所述應用子程式名對應的升級程式程式碼傳送至該目標伺服器;
S106.目標伺服器在收到完整的升級程式程式碼後,啟動Maven程式包,將該升級程式程式碼封裝為Maven容器;S107.目標伺服器將所述Maven容器的映象推送到本地Docker私有庫中,完成對與所述應用子程式名對應的Docker應用容器映象的更新;S108.關機重啟目標伺服器,啟動Docker應用容器引擎,從所述Docker私有庫中獲取與所述應用子程式名對應的Docker應用容器映象,然後重新以Docker應用容器的形式執行應用子程式,完成線上升級。
2、使用 Http 線上自動升級程式。
在VCKBase看到一個是使用 FTP 的,想到 FTP 需要使用者名稱密碼,許多程式如KFW 防火牆都能監看到程式傳送的資料包,為防止密碼洩露,故自己選用Http來做更新。我的思路是用命令列傳遞程式名稱、版本號和 Update.ini 配置檔案的 URL。
然後是查詢可用的更新,先透過 ChttpFile 將 Update.INI 檔案下載到系統臨時目錄下,然後呼叫 GetPrivateProfileString 讀取網上最新的版本號以及要更新的檔案,判斷是否需要更新