System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及計算機,尤其涉及一種熱部署方法和裝置。
技術介紹
1、目前,自動化部署時,需要機器拉取倉庫中的代碼,然后通過編譯機器打包后上傳至目標機器上,進行部署啟動。然而,當需要進行遠程代碼的調試或檢驗修改后的代碼時,需要在代碼中添加日志代碼,從而給代碼倉庫提供無意義的提交記錄;并且,在拉取倉庫中的代碼時,由于多個包之間可能存在依賴關系,會將整個項目拉取;打包后需要將整個包上傳,啟動上傳的包之前還需要停止原來的進程,造成資源和時間的浪費。
技術實現思路
1、有鑒于此,本專利技術實施例提供一種熱部署方法和裝置,能夠簡化了自動化部署時代碼調試的步驟,能夠在測試環境下快速將修改后的代碼作用到運行的虛擬機上,提升了部署效率,節約了部署的時間和資源。
2、為實現上述目的,根據本專利技術實施例的一個方面,提供了一種熱部署方法,包括:
3、獲取啟動文件包和修改后的代碼文件,并將所述啟動文件包和所述代碼文件壓縮為壓縮包,所述啟動文件包包括用于插樁的代理運行文件包;
4、獲取與所述壓縮包對應的目標機器標識和目標虛擬機標識,將所述壓縮包發送至所述目標機器標識對應的目標機器上,以使所述目標機器對所述壓縮包進行解壓;
5、將解壓得到的所述代理運行文件包發送至所述目標虛擬機標識對應的目標虛擬機上,以使所述代理運行文件包在所述目標虛擬機上進行插樁操作,從而使得所述目標虛擬機基于所述代碼文件進行熱部署。
6、可選地,將解壓得到的所述代理運行文件包發送
7、啟動所述啟動文件包,執行所述啟動文件包中的入口方法;
8、獲取與所述代碼文件對應的類的全路徑名;
9、根據所述入口方法、所述目標虛擬機標識和所述類的全路徑名,將解壓得到的所述代理運行文件包發送至所述目標虛擬機上。
10、可選地,根據所述入口方法、所述目標虛擬機標識和所述類的全路徑名,將解壓得到的所述代理運行文件包發送至所述目標虛擬機上,包括:
11、根據所述類的全路徑名和所述入口方法得到所述代碼文件的路徑;
12、將所述類的全路徑名和所述代碼文件的路徑存儲至所述代理運行文件包,以更新所述代理運行文件包;
13、將更新后的代理運行文件包發送至所述目標虛擬機標識對應的目標虛擬機上。
14、可選地,啟動所述啟動文件包,包括:
15、創建與所述啟動文件包對應的虛擬機,并獲取所述虛擬機對應的當前用戶標識;
16、獲取與所述目標虛擬機對應的啟動用戶標識;
17、將所述當前用戶標識切換為所述啟動用戶標識;
18、利用所述啟動用戶標識啟動所述啟動文件包。
19、可選地,所述更新后的代理運行文件包中包括轉換器,使所述代理運行文件包在所述目標虛擬機上進行插樁操作,包括:
20、執行所述更新后的代理運行文件包中的代理入口方法,利用所述代理入口方法遍歷已加載的所有類,根據所述類的全路徑名獲取所述代碼文件對應的類文件;
21、從所述轉換器中獲取所述類文件對應的所述代碼文件的路徑;
22、根據所述代碼文件的路徑獲取所述代碼文件;
23、將所述類的全路徑名傳入所述轉換器中,得到所述轉換器返回的所述代碼文件。
24、可選地,從所述轉換器中獲取所述類文件對應的所述代碼文件的路徑之前,還包括:
25、構建所述轉換器,并將所述轉換器添加至所述目標虛擬機的工具對象的轉換器列表中,所述轉換器包括map屬性;
26、將所述類的全路徑名和所述代碼文件的路徑以鍵值對形式存儲在所述map屬性中。
27、可選地,所述轉換器還包括開關屬性,從所述轉換器中獲取所述類文件對應的所述代碼文件的路徑之前,還包括:確定所述開關屬性為開啟狀態;
28、使得所述目標虛擬機基于所述代碼文件進行熱部署之后,還包括:將所述開關屬性置為關閉狀態,并清空所述map屬性中存儲的鍵值對。
29、根據本專利技術實施例的再一個方面,提供了一種熱部署裝置,包括
30、獲取模塊,獲取啟動文件包和修改后的代碼文件,并將所述啟動文件包和所述代碼文件壓縮為壓縮包,所述啟動文件包包括用于插樁的代理運行文件包;
31、上傳模塊,獲取與所述壓縮包對應的目標機器標識和目標虛擬機標識,將所述壓縮包發送至所述目標機器標識對應的目標機器上,以使所述目標機器對所述壓縮包進行解壓;
32、熱部署模塊,將解壓得到的所述代理運行文件包發送至所述目標虛擬機標識對應的目標虛擬機上,以使所述代理運行文件包在所述目標虛擬機上進行插樁操作,從而使得所述目標虛擬機基于所述代碼文件進行熱部署。
33、根據本專利技術實施例的另一個方面,提供了一種電子設備,包括:
34、一個或多個處理器;
35、存儲裝置,用于存儲一個或多個程序,
36、當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現本專利技術提供的熱部署方法。
37、根據本專利技術實施例的還一個方面,提供了一種計算機可讀介質,其上存儲有計算機程序,所述程序被處理器執行時實現本專利技術提供的熱部署方法。
38、上述專利技術中的一個實施例具有如下優點或有益效果:本專利技術實施例的熱部署方法,通過獲取啟動文件包和修改后的代碼文件,并將啟動文件包和代碼文件壓縮為壓縮包;獲取目標機器標識和目標虛擬機標識,將壓縮包上傳至目標機器上,以使目標機器對壓縮包進行解壓;將解壓得到的代理運行文件包發送至目標虛擬機上,以使代理運行文件包在目標虛擬機上執行插樁操作,使的目標虛擬機基于代碼文件進行熱部署。該方法簡化了自動化部署背景下代碼調試的步驟,能夠在測試環境下快速將修改后的代碼作用到運行的虛擬機上,無需停止進程,實現代碼文件的批量替換,提升了部署效率,節約了時間和資源。
39、上述的非慣用的可選方式所具有的進一步效果將在下文中結合具體實施方式加以說明。
本文檔來自技高網...【技術保護點】
1.一種熱部署方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,將解壓得到的所述代理運行文件包發送至所述目標虛擬機標識對應的目標虛擬機上,包括:
3.根據權利要求2所述的方法,其特征在于,根據所述入口方法、所述目標虛擬機標識和所述類的全路徑名,將解壓得到的所述代理運行文件包發送至所述目標虛擬機上,包括:
4.根據權利要求2所述的方法,其特征在于,啟動所述啟動文件包,包括:
5.根據權利要求2所述的方法,其特征在于,所述更新后的代理運行文件包中包括轉換器,使所述代理運行文件包在所述目標虛擬機上進行插樁操作,包括:
6.根據權利要求5所述的方法,其特征在于,從所述轉換器中獲取所述類文件對應的所述代碼文件的路徑之前,還包括:
7.根據權利要求5所述的方法,其特征在于,所述轉換器還包括開關屬性,從所述轉換器中獲取所述類文件對應的所述代碼文件的路徑之前,還包括:確定所述開關屬性為開啟狀態;
8.一種熱部署裝置,其特征在于,包括:
9.一種電子設備,其特征在于,包括:
...【技術特征摘要】
1.一種熱部署方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,將解壓得到的所述代理運行文件包發送至所述目標虛擬機標識對應的目標虛擬機上,包括:
3.根據權利要求2所述的方法,其特征在于,根據所述入口方法、所述目標虛擬機標識和所述類的全路徑名,將解壓得到的所述代理運行文件包發送至所述目標虛擬機上,包括:
4.根據權利要求2所述的方法,其特征在于,啟動所述啟動文件包,包括:
5.根據權利要求2所述的方法,其特征在于,所述更新后的代理運行文件包中包括轉換器,使所述代理運行文件包在所述目標虛擬...
【專利技術屬性】
技術研發人員:劉召,譚波波,謝晶鵬,
申請(專利權)人:京東科技信息技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。