一種環(huán)境部署方法及裝置制造方法
【專利摘要】本發(fā)明實施例提供了一種環(huán)境部署方法,包括:依據(jù)環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得應(yīng)用中待部署的模塊、所述待部署的模塊的中控機信息和所述待部署的模塊的行為命令;獲得輸入的目的主機信息;依據(jù)待部署的模塊、所述待部署的模塊的中控機信息、所述待部署的模塊的行為命令和所述目的主機信息,獲得所述應(yīng)用的環(huán)境信息,所述環(huán)境信息用于實現(xiàn)所述應(yīng)用的環(huán)境部署;本發(fā)明實施例還提供一種環(huán)境部署裝置。根據(jù)本發(fā)明實施例提供的技術(shù)方案,可以實現(xiàn)提高環(huán)境部署效率,降低環(huán)境部署成本。
【專利說明】一種環(huán)境部署方法及裝置 【【技術(shù)領(lǐng)域】】
[0001] 本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,尤其涉及一種環(huán)境部署方法及裝置。 【【背景技術(shù)】】
[0002] 擁有大量模塊的龐大且復雜的應(yīng)用,其環(huán)境部署需求多種多樣,例如環(huán)境的拓撲、 模塊之間的互聯(lián)、模塊與其他應(yīng)用的互聯(lián)等。
[0003] 現(xiàn)有技術(shù)中,針對應(yīng)用定制的環(huán)境部署工具無法滿足多種部署需求,如果需要應(yīng) 用于其他應(yīng)用,要么對已有的環(huán)境部署工具進行修改和重新配置,要么重新定制環(huán)境部署 工具,都會導致環(huán)境部署成本增加且部署效率比較低。 【
【發(fā)明內(nèi)容】
】
[0004] 有鑒于此,本發(fā)明實施例提供了一種環(huán)境部署方法及裝置,可以實現(xiàn)提高環(huán)境部 署效率,降低環(huán)境部署成本。
[0005] 本發(fā)明實施例提供了一種環(huán)境部署方法,包括:
[0006] 依據(jù)環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得應(yīng)用中待部署的模塊、所述 待部署的模塊的中控機信息和所述待部署的模塊的行為命令;
[0007] 獲得輸入的目的主機信息;
[0008] 依據(jù)待部署的模塊、所述待部署的模塊的中控機信息、所述待部署的模塊的行為 命令和所述目的主機信息,獲得所述應(yīng)用的環(huán)境信息,所述環(huán)境信息用于實現(xiàn)所述應(yīng)用的 環(huán)境部署。
[0009] 上述方法中,所述環(huán)境模板包括所述應(yīng)用的產(chǎn)品歷史版本;所述依據(jù)環(huán)境模板以 及所述環(huán)境模板上的點擊位置,獲得應(yīng)用中所述待部署的模塊的中控機信息,包括:
[0010] 依據(jù)顯示的所述應(yīng)用的產(chǎn)品歷史版本和所述環(huán)境模板上的點擊位置,獲得所述應(yīng) 用當前的產(chǎn)品版本;
[0011] 依據(jù)所述應(yīng)用當前的產(chǎn)品版本,獲得所述待部署的模塊當前的版本;
[0012] 依據(jù)所述待部署的模塊當前的版本,獲得所述待部署的模塊的中控機信息,所述 中控機信息包括所述待部署的模塊所在的中控機以及所述中控機中的默認路徑。
[0013] 上述方法中,所述依據(jù)所述應(yīng)用當前的產(chǎn)品版本,獲得所述待部署的模塊當前的 版本,包括:
[0014] 若所述待部署的模塊的基準版本小于或者等于所述應(yīng)用當前的產(chǎn)品版本,且所述 待部署的模塊的廢棄版本大于或者等于所述應(yīng)用當前的產(chǎn)品版本,依據(jù)所述應(yīng)用當前的產(chǎn) 品版本和所述待部署的模塊的基準版本中的最小值,獲得所述待部署的模塊當前的版本。
[0015] 上述方法中,所述方法還包括:
[0016] 依據(jù)所述環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得自定義變量;
[0017] 將所述自定義變量寫入目的主機的環(huán)境變量;
[0018] 依據(jù)所述中控機信息和所述目的主機信息,將中控機中的所述待部署的模塊部署 在目的主機;其中,所述目的主機信息包括所述待部署的模塊需要部署的目的主機以及所 述目的主機中的部署路徑;
[0019] 運行所述行為命令,以使得所述行為命令從所述目的主機的環(huán)境變量獲得自定義 變量,以及利用所述自定義變量,啟動所述目的主機上的模塊,以使得所述目的主機上的模 塊開始工作。
[0020] 上述方法中,所述依據(jù)所述中控機信息和所述目的主機信息,將中控機中的所述 待部署的模塊部署在目的主機,包括:
[0021] 依據(jù)所述中控機信息和所述目的主機信息,利用自動交互工具登錄所述待部署的 模塊所在的中控機和所述目的主機;
[0022] 運行安全復制命令,以使得安全復制命令將所述中控機的默認路徑下的所述待部 署的模塊拷貝在所述目的主機的部署路徑下。
[0023] 本發(fā)明實施例還提供一種環(huán)境部署裝置,包括:
[0024] 第一獲取單元,用于依據(jù)環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得應(yīng)用中 待部署的模塊、所述待部署的模塊的中控機信息和所述待部署的模塊的行為命令;
[0025] 第二獲取單元,用于獲得輸入的目的主機信息;
[0026] 處理單元,用于依據(jù)待部署的模塊、所述待部署的模塊的中控機信息、所述待部署 的模塊的行為命令和所述目的主機信息,獲得所述應(yīng)用的環(huán)境信息,所述環(huán)境信息用于實 現(xiàn)所述應(yīng)用的環(huán)境部署。
[0027] 上述裝置中,所述環(huán)境模板包括所述應(yīng)用的產(chǎn)品歷史版本;所述第一獲取單元,具 體用于:
[0028] 依據(jù)顯示的所述應(yīng)用的產(chǎn)品歷史版本和所述環(huán)境模板上的點擊位置,獲得所述應(yīng) 用當前的產(chǎn)品版本;
[0029] 依據(jù)所述應(yīng)用當前的產(chǎn)品版本,獲得所述待部署的模塊當前的版本;
[0030] 依據(jù)所述待部署的模塊當前的版本,獲得所述待部署的模塊的中控機信息,所述 中控機信息包括所述待部署的模塊所在的中控機以及所述中控機中的默認路徑。
[0031] 上述裝置中,所述依據(jù)所述應(yīng)用當前的產(chǎn)品版本,獲得所述待部署的模塊當前的 版本,具體包括:
[0032] 若所述待部署的模塊的基準版本小于或者等于所述應(yīng)用當前的產(chǎn)品版本,且所述 待部署的模塊的廢棄版本大于或者等于所述應(yīng)用當前的產(chǎn)品版本,依據(jù)所述應(yīng)用當前的產(chǎn) 品版本和所述待部署的模塊的基準版本中的最小值,獲得所述待部署的模塊當前的版本。
[0033] 上述裝置中,所述裝置還包括:
[0034] 部署準備單元,用于依據(jù)所述環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得自 定義變量;
[0035] 所述部署準備單元,還用于將所述自定義變量寫入目的主機的環(huán)境變量;
[0036] 部署執(zhí)行單元,用于依據(jù)所述中控機信息和所述目的主機信息,將中控機中的所 述待部署的模塊部署在目的主機;其中,所述目的主機信息包括所述待部署的模塊需要部 署的目的主機以及所述目的主機中的部署路徑;
[0037] 所述部署執(zhí)行單元,還用于運行所述行為命令,以使得所述行為命令從所述目的 主機的環(huán)境變量獲得自定義變量,以及利用所述自定義變量,啟動所述目的主機上的模塊, 以使得所述目的主機上的模塊開始工作。
[0038] 上述裝置中,所述依據(jù)所述中控機信息和所述目的主機信息,將中控機中的所述 待部署的模塊部署在目的主機,具體包括:
[0039] 依據(jù)所述中控機信息和所述目的主機信息,利用自動交互工具登錄所述待部署的 模塊所在的中控機和所述目的主機;
[0040] 運行安全復制命令,以使得安全復制命令將所述中控機的默認路徑下的所述待部 署的模塊拷貝在所述目的主機的部署路徑下。
[0041] 由以上技術(shù)方案可以看出,本發(fā)明實施例具有以下有益效果:
[0042] 本發(fā)明實施例提供的技術(shù)方案可以依據(jù)環(huán)境模板和點擊位置,以及輸入的信息, 自動生成用于進行應(yīng)用的環(huán)境部署的環(huán)境信息,與現(xiàn)有技術(shù)相比,該環(huán)境模板可以滿足多 種環(huán)境部署需求,因此該環(huán)境模板復用性較高,減少環(huán)境部署的修改和重新配置,因此能夠 降低環(huán)境部署成本,提高環(huán)境部署效率。 【【專利附圖】
【附圖說明】】
[0043] 為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附 圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域 普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其它的附 圖。
[0044] 圖1是本發(fā)明實施例所提供的環(huán)境部署方法的流程示意圖;
[0045] 圖2是本發(fā)明實施例所提供的環(huán)境模板的第一示意圖;
[0046] 圖3是本發(fā)明實施例所提供的環(huán)境模板的第二示意圖;
[0047] 圖4是本發(fā)明實施例所提供的依據(jù)環(huán)境信息自動進行應(yīng)用的環(huán)境部署的方法的 流程示意圖;
[0048] 圖5是本發(fā)明實施例所提供的依據(jù)應(yīng)用當前的產(chǎn)品版本獲得待部署的模塊當前 的版本的方法的流程示意圖;
[0049] 圖6是本發(fā)明實施例所提供的環(huán)境部署裝置的功能方塊圖。 【【具體實施方式】】
[0050] 為了更好的理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對本發(fā)明實施例進行詳細描 述。
[0051] 應(yīng)當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其 它實施例,都屬于本發(fā)明保護的范圍。
[0052] 在本發(fā)明實施例中使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制 本發(fā)明。在本發(fā)明實施例和所附權(quán)利要求書中所使用的單數(shù)形式的"一種"、"所述"和"該" 也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
[0053] 應(yīng)當理解,本文中使用的術(shù)語"和/或"僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表 示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B 這三種情況。另外,本文中字符"/",一般表示前后關(guān)聯(lián)對象是一種"或"的關(guān)系。
[0054] 取決于語境,如在此所使用的詞語"如果"可以被解釋成為"在……時"或"當…… 時"或"響應(yīng)于確定"或"響應(yīng)于檢測"。類似地,取決于語境,短語"如果確定"或"如果檢 測(陳述的條件或事件)"可以被解釋成為"當確定時"或"響應(yīng)于確定"或"當檢測(陳述 的條件或事件)時"或"響應(yīng)于檢測(陳述的條件或事件)"。
[0055] 本發(fā)明實施例給出一種環(huán)境部署方法,請參考圖1,其為本發(fā)明實施例所提供的環(huán) 境部署方法的流程示意圖,如圖所示,該方法包括以下步驟:
[0056] S101,依據(jù)環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得應(yīng)用中待部署的模塊、 所述待部署的模塊的中控機信息和所述待部署的模塊的行為命令。
[0057] S102,獲得輸入的目的主機信息。
[0058] S103,依據(jù)待部署的模塊、所述待部署的模塊的中控機信息、所述待部署的模塊的 行為命令和所述目的主機信息,獲得所述應(yīng)用的環(huán)境信息,所述環(huán)境信息用于實現(xiàn)所述應(yīng) 用的環(huán)境部署。
[0059] 優(yōu)選的,所述環(huán)境模板包括所述應(yīng)用的產(chǎn)品歷史版本;所述依據(jù)環(huán)境模板以及所 述環(huán)境模板上的點擊位置,獲得應(yīng)用中所述待部署的模塊的中控機信息的方法可以包括: 依據(jù)顯示的所述應(yīng)用的產(chǎn)品歷史版本和所述環(huán)境模板上的點擊位置,獲得所述應(yīng)用當前的 產(chǎn)品版本;依據(jù)所述應(yīng)用當前的產(chǎn)品版本,獲得所述待部署的模塊當前的版本;依據(jù)所述 待部署的模塊當前的版本,獲得所述待部署的模塊的中控機信息,所述中控機信息包括所 述待部署的模塊所在的中控機以及所述中控機中的默認路徑。
[0060] 其中,依據(jù)所述應(yīng)用當前的產(chǎn)品版本,獲得所述待部署的模塊當前的版本的方法 可以包括:若所述待部署的模塊的基準版本小于或者等于所述應(yīng)用當前的產(chǎn)品版本,且所 述待部署的模塊的廢棄版本大于或者等于所述應(yīng)用當前的產(chǎn)品版本,依據(jù)所述應(yīng)用當前的 產(chǎn)品版本和所述待部署的模塊的基準版本中的最小值,獲得所述待部署的模塊當前的版 本。
[0061] 可選的,上述方法中,所述S103之后,還可以包括:
[0062] 依據(jù)環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得自定義變量;
[0063] 將所述自定義變量寫入目的主機的環(huán)境變量;
[0064] 依據(jù)所述中控機信息和所述目的主機信息,將中控機中的所述待部署的模塊部署 在目的主機;其中,所述目的主機信息包括所述待部署的模塊需要部署的目的主機以及所 述目的主機中的部署路徑;
[0065] 運行所述行為命令,以使得所述行為命令從所述目的主機的環(huán)境變量獲得自定義 變量,以及利用所述自定義變量,啟動所述目的主機上的模塊,以使得所述目的主機上的模 塊開始工作。
[0066] 其中,所述依據(jù)所述中控機信息和所述目的主機信息,將中控機中的所述待部署 的模塊部署在目的主機的方法可以包括:
[0067] 依據(jù)所述中控機信息和所述目的主機信息,利用自動交互工具登錄所述待部署的 模塊所在的中控機和所述目的主機;
[0068] 運行安全復制命令,以使得安全復制命令將所述中控機的默認路徑下的所述待部 署的模塊拷貝在所述目的主機的部署路徑下。
[0069] 實施例一
[0070] 請參考圖2和圖3,其分別為本發(fā)明實施例所提供的環(huán)境模板的第一示意圖和第 二示意圖。
[0071] 本發(fā)明實施例中,可以顯示環(huán)境模板,該環(huán)境模板用于表征待部署的環(huán)境的所有 信息的集合,該環(huán)境模板可以包括模塊信息和行為命令,還可以包括拓撲信息和部署類型。
[0072] 其中,模塊信息可以包括:待部署的模塊的名稱、待部署的模塊的中控機信息;其 中,待部署的模塊的中控機信息用于指示該待部署的模塊所在的位置,待部署的模塊的中 控機信息可以包括待部署的模塊所在的中控機和該中控機中的默認路徑(Default Path)。
[0073] 需要說明的是,待部署的模塊除了包括上述名稱、中控機和默認路徑三個自有屬 性外,還包括待部署的模塊當前的版本(Module Version)和行為命令兩個屬性。其中,待 部署的模塊當前的版本可以依據(jù)應(yīng)用當前的產(chǎn)品版本(Product Version)獲得,具體獲得 待部署的模塊當前版本的方法請參見后述實施例三的描述。
[0074] 例如,圖2所示的環(huán)境模板中,"搭建模塊"中的內(nèi)容為應(yīng)用中可以部署的模塊的 名稱(Name),依據(jù)用戶利用鼠標在環(huán)境模板上的點擊位置,可以獲得應(yīng)用中待部署的模塊。 "模塊列表"(Module List)包括選出的多個待部署的模塊。
[0075] 其中,行為命令(Action)指的是在將待部署的模塊部署好后,可以對模塊運行的 命令,用以實現(xiàn)對模塊執(zhí)行相應(yīng)的操作。需要說明的是,一個環(huán)境模板中,每個待部署的模 塊可以對應(yīng)一個行為命令。
[0076] 例如,如圖2所示,"搭建模塊"右側(cè)的框中前面的信息表示模塊的名稱, 后面的信息表示該模塊對應(yīng)的行為命令。
[0077] 其中,拓撲信息可以包括需要部署模塊的目的主機(Host)、每個目的主機上需要 部署的模塊、需要將模塊部署在目的主機的部署路徑(Deploy Path)、每個目的主機上部署 的模塊之間的串并行模式和目的主機之間的串并行模式。
[0078] 例如,如圖3所示,可以在"機器"的輸入框中輸入需要部署模塊的目的主機的名 稱,如輸入了"云機器",環(huán)境模板中"模塊列表"中的待部署的模塊需要部署在"云機器"中。
[0079] 再例如,"部署路徑"的輸入框中輸入目的主機中的部署路徑,該部署路徑用于指 示待部署的模塊需要部署在該目的主機的位置,這樣,就可以獲得目的主機信息。
[0080] 其中,部署類型可以包括:全量部署和增量部署。全量部署指的是依據(jù)新生成的環(huán) 境信息對應(yīng)用進行重新的環(huán)境部署,之前已經(jīng)存在的環(huán)境將被廢棄;增量部署指的是依據(jù) 新生成的環(huán)境信息,增加應(yīng)用的環(huán)境部署,相當于,在應(yīng)用已經(jīng)部署好的環(huán)境中增加一些新 的環(huán)境部署。
[0081] 例如,圖3中有部署類型的選項,"全量"表示全量部署,"增量"表示增量部署。
[0082] 另外,顯示的環(huán)境模板可以包括應(yīng)用的產(chǎn)品歷史版本,如圖3中"版本"。依據(jù)顯示 的環(huán)境模板和用戶利用鼠標在該環(huán)境模板上的點擊位置,確定應(yīng)用當前的產(chǎn)品版本。
[0083] 顯示的環(huán)境模板還可以包括自定義變量,如圖2中"變量名";依據(jù)顯示的自定義變 量和環(huán)境模板上的點擊位置,獲得用戶選出的自定義變量。
[0084] 用戶可以利用鼠標點擊圖3中"部署"按鈕,這樣就可以依據(jù)待部署的模塊、所述 待部署的模塊的中控機信息、所述待部署的模塊的行為命令和所述目的主機信息,生成應(yīng) 用的環(huán)境信息,然后依據(jù)該環(huán)境信息自動進行應(yīng)用的環(huán)境部署。
[0085] 實施例二
[0086] 請參考圖4,其為本發(fā)明實施例所提供的依據(jù)環(huán)境信息自動進行應(yīng)用的環(huán)境部署 的方法的流程示意圖,如圖所示,該方法可以包括以下步驟:
[0087] S401,部署準備單元對環(huán)境信息進行解析,以獲得待部署的模塊、所述待部署的模 塊的中控機信息、所述待部署的模塊的行為命令和所述目的主機信息。
[0088] S402,部署準備單元將獲得的自定義變量寫入目的主機的環(huán)境變量。
[0089] 具體的,部署準備單元可以運行export命令,已使得export命令將獲得的每個自 定義變量寫入到待部署的模塊需要部署的目的主機的環(huán)境變量中,寫入環(huán)境變量的自定義 變量用于模塊的行為命令在需要使用自定義變量時使用。
[0090] S403,部署準備單元向部署執(zhí)行單元發(fā)送部署命令。
[0091] 具體的,部署準備單元將解析獲得的待部署的模塊、所述待部署的模塊的中控機 信息、所述待部署的模塊的行為命令和所述目的主機信息,通過跨系統(tǒng)調(diào)用的方式發(fā)送給 部署執(zhí)行單元,并發(fā)送部署命令。
[0092] 如果部署發(fā)起成功,部署執(zhí)行單元向部署準備單元返回"Error = 0",表示部署準 備單元部署發(fā)起成功,同時運行nohup命令,以使得nohup命令利用部署進程在后臺執(zhí)行環(huán) 境部署,部署執(zhí)行單元運行狀態(tài)監(jiān)控進程,以對部署狀態(tài)進行監(jiān)控。如果部署發(fā)起失敗,部 署執(zhí)行單元向部署準備單元返回"Error = -1",表示部署準備單元部署發(fā)起失敗,本次環(huán) 境部署結(jié)束。
[0093] S404,部署執(zhí)行單元依據(jù)所述中控機信息和所述目的主機信息,將中控機中的所 述待部署的模塊部署在目的主機;其中,所述目的主機信息包括所述待部署的模塊需要部 署的目的主機以及所述目的主機中的部署路徑。
[0094] 具體的,被置于后臺執(zhí)行環(huán)境部署的部署進程,通過expect工具,依據(jù)所述中控 機信息和所述目的主機信息,自動登錄到每個待部署的模塊所在的中控機和所述目的主 機,然后運行安全復制(Secure Copy,SCP)命令,以使得安全復制命令將所述中控機的默認 路徑下的所述待部署的模塊,拷貝在所述目的主機的部署路徑下,從而實現(xiàn)該待部署的模 塊的自動部署。
[0095] S405,部署執(zhí)行單元運行所述行為命令,以使得所述行為命令從所述目的主機的 環(huán)境變量獲得自定義變量,以及利用所述自定義變量,啟動所述目的主機上的模塊,以使得 所述目的主機上的模塊開始工作。
[0096] 例如,部署執(zhí)行單元利用expect工具運行模塊對應(yīng)的行為命令;由于運行的行為 命令屬于部署進程的子進程,所以當行為命令需要獲取自定義變量時,行為命令就可以從 目的主機的環(huán)境變量中獲取到自定義變量。
[0097] 運行行為命令用于實現(xiàn)對模塊進行相應(yīng)的操作,例如,在目的主機上部署模塊A 后,需要啟動模塊A,使模塊A開始工作,而啟動模塊A的操作就需要由行為命令完成。 [0098] 另外,運行安全命令之后,部署進程會遠程調(diào)用部署狀態(tài)更新接口,以獲得部署結(jié) 果,然后將部署結(jié)果發(fā)送給部署準備單元的狀態(tài)監(jiān)控進程,該狀態(tài)監(jiān)控進程獲得部署結(jié)果 (包括部署成功或者部署失敗)后,結(jié)束監(jiān)控。
[0099] 實施例三
[0100] 請參考圖5,其為本發(fā)明實施例所提供的依據(jù)應(yīng)用當前的產(chǎn)品版本獲得待部署的 模塊當前的版本的方法的流程示意圖,如圖所示,該方法包括以下步驟:
[0101] S501,讀取應(yīng)用當前的產(chǎn)品版本(Product Verison)。
[0102] 需要說明的是,讀取到的應(yīng)用當前的產(chǎn)品版本是依據(jù)用戶在環(huán)境模板上選出的產(chǎn) 品版本,因此該應(yīng)用當前的產(chǎn)品版本不一定是最新版本。
[0103] S502,判斷應(yīng)用當前的產(chǎn)品版本是否存在回滾,即應(yīng)用當前的產(chǎn)品版本是否是最 新版本,如果存在回滾,說明應(yīng)用當如的廣品版本不是最新版本,執(zhí)彳丁 S503 ;如果不存在回 滾,說明應(yīng)用當前的產(chǎn)品版本是最新版本,執(zhí)行S504。
[0104] S503,遞減應(yīng)用的產(chǎn)品歷史版本中的最新版本,例如,將應(yīng)用的產(chǎn)品歷史版本的版 本號減1,然后執(zhí)行S502。
[0105] S504,依據(jù)讀取的應(yīng)用當前的產(chǎn)品版本,計算模塊當前的版本(Module Version), 然后執(zhí)行S505。
[0106] 例如,計算方法可以是:判斷模塊的基準版本(Module Base Version)與應(yīng)用當前 的產(chǎn)品版本的大小,如果模塊的基準版本大于應(yīng)用當前的產(chǎn)品版本,說明模塊的基準版本 是非法版本,則該模塊不存在當前的版本,該模塊不需要部署;反之,如果模塊的基準版本 小于或者等于應(yīng)用當前的產(chǎn)品版本,繼續(xù)判斷模塊的廢棄版本(Discarded Version)與應(yīng) 用當前的產(chǎn)品版本的大小。
[0107] 如果模塊的廢棄版本小于應(yīng)用當前的產(chǎn)品版本,說明模塊的廢棄版本是非法版 本,則該模塊不存在當前的版本,該模塊不需要部署;反之,如果模塊的廢棄版本大于或者 等于應(yīng)用當前的產(chǎn)品版本,說明該模塊需要部署,則將應(yīng)用當前的產(chǎn)品版本和該模塊的基 準版本中的最小值,作為該待部署的模塊當前的版本。
[0108] S505,判斷模塊當前的版本是否存在回滾,如果存在,執(zhí)行S506 ;如果不存在,執(zhí) 行 S507。
[0109] S506,獲得該模塊上一個版本,將該模塊上一個版本作為該模塊當前的版本,然后 執(zhí)行S505。
[0110] S507,判斷模塊當前的版本的版本號是否大于0,如果是,執(zhí)行S508 ;如果否,執(zhí)行 S509。
[0111] S508,依據(jù)模塊當前的版本,獲得模塊的中控機信息。
[0112] 例如,依據(jù)模塊當前的版本、中控機的名稱、默認路徑和模塊路徑,獲得模塊的中 控機信息。
[0113] S509,若模塊當前的版本的版本號小于或者等于0,表示該模塊當前的版本無效或 者該模塊被廢棄,則結(jié)束流程,不獲得模塊當前的版本。
[0114] 需要說明的是,升級后應(yīng)用的產(chǎn)品版本的版本號等于升級前應(yīng)用的產(chǎn)品版本的版 本號+1。被升級的模塊的版本的版本號等于本次升級后應(yīng)用的產(chǎn)品版本的版本號,未升級 的模塊的版本保持不變。另外,如果模塊是新增加的模塊,則該模塊的基準版本的版本號等 于應(yīng)用當前的產(chǎn)品版本。如果模塊是被廢棄的模塊,則該模塊的廢棄版本的版本號等于應(yīng) 用當前的產(chǎn)品版本。
[0115] 例如,請參考表1,其為本發(fā)明實施例所提供的應(yīng)用的產(chǎn)品版本的版本號和待部署 的模塊的版本的版本號的關(guān)系。
[0116] 表 1
[0117]
【權(quán)利要求】
1. 一種環(huán)境部署方法,其特征在于,所述方法包括: 依據(jù)環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得應(yīng)用中待部署的模塊、所述待部 署的模塊的中控機信息和所述待部署的模塊的行為命令; 獲得輸入的目的主機信息; 依據(jù)待部署的模塊、所述待部署的模塊的中控機信息、所述待部署的模塊的行為命令 和所述目的主機信息,獲得所述應(yīng)用的環(huán)境信息,所述環(huán)境信息用于實現(xiàn)所述應(yīng)用的環(huán)境 部署。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述環(huán)境模板包括所述應(yīng)用的產(chǎn)品歷史 版本;所述依據(jù)環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得應(yīng)用中所述待部署的模塊 的中控機信息,包括 : 依據(jù)顯示的所述應(yīng)用的產(chǎn)品歷史版本和所述環(huán)境模板上的點擊位置,獲得所述應(yīng)用當 iu的廣品版本; 依據(jù)所述應(yīng)用當前的產(chǎn)品版本,獲得所述待部署的模塊當前的版本; 依據(jù)所述待部署的模塊當前的版本,獲得所述待部署的模塊的中控機信息,所述中控 機信息包括所述待部署的模塊所在的中控機以及所述中控機中的默認路徑。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述依據(jù)所述應(yīng)用當前的產(chǎn)品版本,獲得 所述待部署的模塊當前的版本,包括: 若所述待部署的模塊的基準版本小于或者等于所述應(yīng)用當前的產(chǎn)品版本,且所述待部 署的模塊的廢棄版本大于或者等于所述應(yīng)用當前的產(chǎn)品版本,依據(jù)所述應(yīng)用當前的產(chǎn)品版 本和所述待部署的模塊的基準版本中的最小值,獲得所述待部署的模塊當前的版本。
4. 根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述方法還包括: 依據(jù)所述環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得自定義變量; 將所述自定義變量寫入目的主機的環(huán)境變量; 依據(jù)所述中控機信息和所述目的主機信息,將中控機中的所述待部署的模塊部署在目 的主機;其中,所述目的主機信息包括所述待部署的模塊需要部署的目的主機以及所述目 的王機中的部署路徑; 運行所述行為命令,以使得所述行為命令從所述目的主機的環(huán)境變量獲得自定義變 量,以及利用所述自定義變量,啟動所述目的主機上的模塊,以使得所述目的主機上的模塊 開始工作。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述依據(jù)所述中控機信息和所述目的主 機信息,將中控機中的所述待部署的模塊部署在目的主機,包括: 依據(jù)所述中控機信息和所述目的主機信息,利用自動交互工具登錄所述待部署的模塊 所在的中控機和所述目的主機; 運行安全復制命令,以使得安全復制命令將所述中控機的默認路徑下的所述待部署的 模塊拷貝在所述目的主機的部署路徑下。
6. -種環(huán)境部署裝置,其特征在于,所述裝置包括: 第一獲取單元,用于依據(jù)環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得應(yīng)用中待部 署的模塊、所述待部署的模塊的中控機信息和所述待部署的模塊的行為命令; 第二獲取單元,用于獲得輸入的目的主機信息; 處理單元,用于依據(jù)待部署的模塊、所述待部署的模塊的中控機信息、所述待部署的模 塊的行為命令和所述目的主機信息,獲得所述應(yīng)用的環(huán)境信息,所述環(huán)境信息用于實現(xiàn)所 述應(yīng)用的環(huán)境部署。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述環(huán)境模板包括所述應(yīng)用的產(chǎn)品歷史 版本;所述第一獲取單元,具體用于: 依據(jù)顯示的所述應(yīng)用的產(chǎn)品歷史版本和所述環(huán)境模板上的點擊位置,獲得所述應(yīng)用當 iu的廣品版本; 依據(jù)所述應(yīng)用當前的產(chǎn)品版本,獲得所述待部署的模塊當前的版本; 依據(jù)所述待部署的模塊當前的版本,獲得所述待部署的模塊的中控機信息,所述中控 機信息包括所述待部署的模塊所在的中控機以及所述中控機中的默認路徑。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述依據(jù)所述應(yīng)用當前的產(chǎn)品版本,獲得 所述待部署的模塊當前的版本,具體包括: 若所述待部署的模塊的基準版本小于或者等于所述應(yīng)用當前的產(chǎn)品版本,且所述待部 署的模塊的廢棄版本大于或者等于所述應(yīng)用當前的產(chǎn)品版本,依據(jù)所述應(yīng)用當前的產(chǎn)品版 本和所述待部署的模塊的基準版本中的最小值,獲得所述待部署的模塊當前的版本。
9. 根據(jù)權(quán)利要求6至8中任一項所述的裝置,其特征在于,所述裝置還包括: 部署準備單元,用于依據(jù)所述環(huán)境模板以及所述環(huán)境模板上的點擊位置,獲得自定義 變量; 所述部署準備單元,還用于將所述自定義變量寫入目的主機的環(huán)境變量; 部署執(zhí)行單元,用于依據(jù)所述中控機信息和所述目的主機信息,將中控機中的所述待 部署的模塊部署在目的主機;其中,所述目的主機信息包括所述待部署的模塊需要部署的 目的主機以及所述目的主機中的部署路徑; 所述部署執(zhí)行單元,還用于運行所述行為命令,以使得所述行為命令從所述目的主機 的環(huán)境變量獲得自定義變量,以及利用所述自定義變量,啟動所述目的主機上的模塊,以使 得所述目的主機上的模塊開始工作。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述依據(jù)所述中控機信息和所述目的主 機信息,將中控機中的所述待部署的模塊部署在目的主機,具體包括: 依據(jù)所述中控機信息和所述目的主機信息,利用自動交互工具登錄所述待部署的模塊 所在的中控機和所述目的主機; 運行安全復制命令,以使得安全復制命令將所述中控機的默認路徑下的所述待部署的 模塊拷貝在所述目的主機的部署路徑下。
【文檔編號】G06F9/445GK104090799SQ201410329069
【公開日】2014年10月8日 申請日期:2014年7月11日 優(yōu)先權(quán)日:2014年7月11日
【發(fā)明者】安奕星, 孫彬, 何濤 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司