本發(fā)明涉及云計算技術(shù),尤指一種代碼自動打包部署方法和裝置。
背景技術(shù):
在云計算時代,各種軟件的開發(fā)、測試都逐漸轉(zhuǎn)移到云計算平臺上來實現(xiàn)。隨著云計算和虛擬化技術(shù)的不斷發(fā)展,各種軟件本身業(yè)務(wù)復(fù)雜度和規(guī)模復(fù)雜度的增加,都對軟件的快速、高效、自動化部署提出了越來越高的要求。目前很多軟件的開發(fā)流程并未很好的實踐自動化流程,軟件打包、部署流程復(fù)雜、穩(wěn)定性差,嚴(yán)重影響了軟件開發(fā)的效率。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明實施例提供了一種代碼自動打包部署方法和裝置,可以自動實現(xiàn)將入庫的代碼拉取、編譯、打包、推送并部署的過程,能夠有效提高軟件開發(fā)、部署的效率。
為了達(dá)到本發(fā)明目的,一方面,本發(fā)明實施例提供了一種代碼自動打包部署方法,包括:
在預(yù)設(shè)時刻從預(yù)設(shè)的代碼庫中將代碼拷貝至本地打包環(huán)境中;
對所述本地打包環(huán)境中的代碼進(jìn)行編譯操作;
對編譯無誤的代碼進(jìn)行打包操作,以構(gòu)建代碼相應(yīng)軟件的安裝部署包;
將所述軟件的安裝部署包推送至選定的部署服務(wù)器上,自動安裝部署所述軟件。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例通過在預(yù)設(shè)時刻從預(yù)設(shè)的代碼庫中將代碼拷貝至本地打包環(huán)境中;對所述本地打包環(huán)境中的代碼進(jìn)行編譯操作;對編譯無誤的代碼進(jìn)行打包操作,以構(gòu)建代碼相應(yīng)軟件的安裝部署包;將所述軟件的安裝部署包推送至選定的部署服務(wù)器上,自動安裝部署所述軟件。本發(fā)明實施例可以自動實現(xiàn)將入庫的代碼拉取、編譯、打包、推送并部署的過程,能夠有效提高軟件開發(fā)、部署的效率。
進(jìn)一步地,從代碼庫中將代碼拷貝至本地打包環(huán)境中之前,還包括:
在所述預(yù)設(shè)的代碼庫中存儲已經(jīng)提交入庫的代碼。
進(jìn)一步地,從代碼庫中將代碼拷貝至本地打包環(huán)境中之前,還包括:
設(shè)置自動觸發(fā)打包部署操作的所述預(yù)設(shè)時刻。
進(jìn)一步地,所述預(yù)設(shè)時刻包括:任意的沒有代碼提交的時間點。
進(jìn)一步地,所述方法還包括:
記錄執(zhí)行所述安裝部署操作過程中的日志信息。
另一方面,本發(fā)明實施例還提供了一種代碼自動打包部署裝置,包括:
代碼拉取模塊,用于在預(yù)設(shè)時刻從預(yù)設(shè)的代碼庫中將代碼拷貝至本地打包環(huán)境中;
編譯模塊,用于對所述本地打包環(huán)境中的代碼進(jìn)行編譯操作;
打包模塊,用于對編譯無誤的代碼進(jìn)行打包操作,以構(gòu)建代碼相應(yīng)軟件的安裝部署包;
部署模塊,用于將所述軟件的安裝部署包推送至選定的部署服務(wù)器上,自動安裝部署所述軟件。
進(jìn)一步地,所述裝置還包括:
代碼存儲模塊,用于在所述預(yù)設(shè)的代碼庫中存儲已經(jīng)提交入庫的代碼。
進(jìn)一步地,所述裝置還包括:
設(shè)置時間模塊,用于設(shè)置自動觸發(fā)打包部署操作的所述預(yù)設(shè)時刻。
進(jìn)一步地,所述裝置還包括:
日志模塊,用于記錄安裝、部署操作執(zhí)行中的日志信息。
進(jìn)一步地,所述裝置中的所述預(yù)設(shè)時刻包括:任意的沒有代碼提交的時間點。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖說明
附圖用來提供對本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請的實施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對本發(fā)明技術(shù)方案的限制。
圖1為本發(fā)明實施例代碼自動打包部署方法的流程圖;
圖2為本發(fā)明實施例代碼自動打包部署裝置的結(jié)構(gòu)圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
在附圖的流程圖示出的步驟可以在諸如一組計算機(jī)可執(zhí)行指令的計算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
如圖1所示,是本發(fā)明實施例代碼自動打包部署方法的流程圖,本實施例包括以下步驟:
步驟100:在預(yù)設(shè)時刻從預(yù)設(shè)的代碼庫中將代碼拷貝至本地打包環(huán)境中;
例如,將代碼拷貝至本地的某臺服務(wù)器。
步驟101:對所述本地打包環(huán)境中的代碼進(jìn)行編譯操作;檢查有無編譯錯誤;
步驟102:對編譯無誤的代碼進(jìn)行打包操作,以構(gòu)建代碼相應(yīng)軟件的安裝部署包;
步驟103:將所述軟件的安裝部署包推送至選定的部署服務(wù)器上,自動安裝部署所述軟件。
本發(fā)明實施例通過在預(yù)設(shè)時刻從預(yù)設(shè)的代碼庫中將代碼拷貝至本地打包環(huán)境中;對所述本地打包環(huán)境中的代碼進(jìn)行編譯操作;對編譯無誤的代碼進(jìn)行打包操作,以構(gòu)建代碼相應(yīng)軟件的安裝部署包;將所述軟件的安裝部署包推送至選定的部署服務(wù)器上,自動安裝部署所述軟件。本發(fā)明實施例可以自動實現(xiàn)將入庫的代碼拉取、編譯、打包、推送并部署的過程,能夠有效提高軟件開發(fā)、部署的效率。
進(jìn)一步地,從代碼庫中將代碼拷貝至本地打包環(huán)境中之前,還包括:
在所述預(yù)設(shè)的代碼庫中存儲已經(jīng)提交入庫的代碼。
進(jìn)一步地,從代碼庫中將代碼拷貝至本地打包環(huán)境中之前,還包括:
設(shè)置自動觸發(fā)打包部署操作的所述預(yù)設(shè)時刻。
進(jìn)一步地,所述預(yù)設(shè)時刻包括:任意的沒有代碼提交的時間點。
例如,可以設(shè)置每日凌晨1點,或其他沒有代碼提交的時間點,進(jìn)行手動或自動觸發(fā)打包部署操作。
進(jìn)一步地,所述方法還包括:
記錄執(zhí)行所述安裝部署操作過程中的日志信息。用于定位、解決操作中遇到的問題;
圖2為本發(fā)明實施例代碼自動打包部署裝置的結(jié)構(gòu)圖,如圖2所示,本發(fā)明實施例另一方面提供的一種代碼自動打包部署裝置,包括:
代碼拉取模塊201,用于在預(yù)設(shè)時刻從預(yù)設(shè)的代碼庫中將代碼拷貝至本地打包環(huán)境中;
編譯模塊202,用于對所述本地打包環(huán)境中的代碼進(jìn)行編譯操作;
打包模塊203,用于對編譯無誤的代碼進(jìn)行打包操作,以構(gòu)建代碼相應(yīng)軟件的安裝部署包;
部署模塊204,用于將所述軟件的安裝部署包推送至選定的部署服務(wù)器上,自動安裝部署所述軟件。
進(jìn)一步地,所述裝置還包括:
代碼存儲模塊,用于在所述預(yù)設(shè)的代碼庫中存儲已經(jīng)提交入庫的代碼。
進(jìn)一步地,所述裝置還包括:
設(shè)置時間模塊,用于設(shè)置自動觸發(fā)打包部署操作的所述預(yù)設(shè)時刻。
進(jìn)一步地,所述裝置還包括:
日志模塊,用于記錄安裝、部署操作執(zhí)行中的日志信息。
進(jìn)一步地,所述裝置中的所述預(yù)設(shè)時刻包括:任意的沒有代碼提交的時間點。
本發(fā)明實施例中的代碼自動打包部署方法是一種云計算下的基于自動化流程實踐,自動實現(xiàn)將入庫的代碼拉取、編譯、打包、推送并部署的過程,實現(xiàn)了軟件版本的自動化構(gòu)建、部署,節(jié)約了開發(fā)時間和資源,提高了軟件開發(fā)的效率。與通用的軟件打包部署方法相比,本發(fā)明實施例自動實現(xiàn)將入庫的代碼拉取、編譯、打包、推送并部署的過程,能夠有效提高軟件開發(fā)、部署的效率。
雖然本發(fā)明所揭露的實施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。