一種自動化構(gòu)建與部署代碼的方法及服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)代碼構(gòu)建技術(shù)領(lǐng)域,尤其涉及一種自動化構(gòu)建與部署代碼的方法及服務(wù)器。
【背景技術(shù)】
[0002]隨著日新月異的互聯(lián)網(wǎng)技術(shù),作為技術(shù)的推動力一一代碼研發(fā)者,每天穿梭于成千上萬與繁雜緊湊的代碼叢中,需要重復(fù)地構(gòu)建、部署和發(fā)布代碼,一套自動化的解決方案與系統(tǒng)迫在眉睫。目前采取的解決方案都缺乏流程的完整性和自動化,大多利用網(wǎng)絡(luò)上零散的現(xiàn)有工具或者自己編寫批處理任務(wù)腳本文件,手動敲命令去執(zhí)行構(gòu)建、部署、與發(fā)布代碼,流程上缺乏一種完整性的管理和自動化。如果是純粹利用網(wǎng)絡(luò)上零散的現(xiàn)有工具,要求入門者需要懂得網(wǎng)上查閱、學(xué)習(xí)與利用相關(guān)的技術(shù)工具,而且不一定能百分百滿足需求,可能需要了解該工具后修改其源代碼。如果是自己編寫批處理任務(wù)腳本文件,需要懂得一門腳本編寫語言,并利用其編寫處理特定項目的腳本,當(dāng)需要執(zhí)行構(gòu)建、部署、與發(fā)布代碼時,需要手動敲命令。
[0003]因此,如何實現(xiàn)代碼構(gòu)建的自動化,以有助于代碼研發(fā)者提高代碼編寫效率,從而將更多的精力投入到代碼質(zhì)量上的研發(fā),這是目前亟待解決的一個技術(shù)問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例提供一種自動化構(gòu)建與部署代碼的方法及服務(wù)器,以實現(xiàn)代碼構(gòu)建與部署的自動化。
[0005]一方面,本發(fā)明實施例提供了一種自動化構(gòu)建與部署代碼的方法,包括:
[0006]根據(jù)需要構(gòu)建的源代碼目錄,讀取所述源代碼目錄下所有文件和目錄;
[0007]根據(jù)需要構(gòu)建的任務(wù)和配置的構(gòu)建任務(wù)文件,執(zhí)行相應(yīng)的任務(wù)構(gòu)建腳本,生成構(gòu)建的代碼發(fā)布dist目錄和文件;
[0008]根據(jù)需要部署的項目路徑,將構(gòu)建完成的代碼dist目錄下的文件拷貝到相應(yīng)目錄下。
[0009]另一方面,本發(fā)明實施例提供了一種自動化構(gòu)建與部署代碼的服務(wù)器,所述自動化構(gòu)建與部署代碼的服務(wù)器包括:
[0010]獲取單元,用于根據(jù)需要構(gòu)建的源代碼目錄,讀取所述源代碼目錄下所有文件和目錄;
[0011]構(gòu)建單元,用于根據(jù)需要構(gòu)建的任務(wù)和配置的構(gòu)建任務(wù)文件,執(zhí)行相應(yīng)的任務(wù)構(gòu)建腳本,生成構(gòu)建的代碼發(fā)布dist目錄和文件;
[0012]部署單元,用于根據(jù)需要部署的項目路徑,將構(gòu)建完成的代碼dist目錄下的文件拷貝到相應(yīng)目錄下。
[0013]上述技術(shù)方案具有如下有益效果:實現(xiàn)了代碼構(gòu)建與部署的自動化,有助于代碼研發(fā)者提高代碼編寫效率,從而將更多的精力投入到代碼質(zhì)量上的研發(fā),并且降低了初入代碼研發(fā)工作的門檻。
【附圖說明】
[0014]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1為本發(fā)明實施例一種自動化代碼構(gòu)建方法流程圖;
[0016]圖2為本發(fā)明實施例一種自動化代碼構(gòu)建系統(tǒng)組成示意圖;
[0017]圖3為本發(fā)明實施例另一種自動化代碼構(gòu)建系統(tǒng)組成示意圖;
[0018]圖4為本發(fā)明應(yīng)用實例一種自動化代碼構(gòu)建方法流程示意圖。
【具體實施方式】
[0019]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0020]如圖1所示,為本發(fā)明實施例一種自動化構(gòu)建與部署代碼的方法流程圖,包括:
[0021]101、根據(jù)需要構(gòu)建的源代碼目錄,讀取所述源代碼目錄下所有文件和目錄;
[0022]102、根據(jù)需要構(gòu)建的任務(wù)和配置的構(gòu)建任務(wù)文件,執(zhí)行相應(yīng)的任務(wù)構(gòu)建腳本,生成構(gòu)建的代碼dist (發(fā)布)目錄和文件;
[0023]103、根據(jù)需要部署的項目路徑,將構(gòu)建完成的代碼dist目錄下的文件拷貝到相應(yīng)目錄下。
[0024]優(yōu)選的,可以通過瀏覽器遠(yuǎn)程訪問的方式,預(yù)先配置所述需要構(gòu)建的源代碼目錄、所述需要構(gòu)建的任務(wù)以及所述需要部署的項目路徑;或者,采用默認(rèn)配置。
[0025]優(yōu)選的,還可以包括:如果代碼構(gòu)建或部署出錯,則給出錯誤位置提示信息,并修改源代碼后,重新進(jìn)行代碼構(gòu)建與部署。
[0026]優(yōu)選的,所述需要部署的項目路徑為:代碼測試過程中的測試部署路徑,所述相應(yīng)目錄為:提供了可以訪問所述文件環(huán)境的根目錄;以及所述根據(jù)需要部署的項目路徑,將構(gòu)建完成的代碼dist目錄下的文件拷貝到相應(yīng)目錄下之后,還包括:對部署完成的測試代碼進(jìn)行測試,如果測試不通過,則修改源代碼,重新進(jìn)行代碼構(gòu)建與部署;如果測試通過,則通過源代碼管理器提交源代碼到代碼托管服務(wù)器。
[0027]優(yōu)選的,所述需要部署的項目路徑為:代碼生產(chǎn)過程中的生產(chǎn)部署路徑,所述相應(yīng)目錄為:源代碼管理器的生成代碼目錄;以及所述根據(jù)需要部署的項目路徑,將構(gòu)建完成的代碼dist目錄下的文件拷貝到相應(yīng)目錄下之后,還包括:將部署完成的生產(chǎn)代碼推送到線上服務(wù)器進(jìn)行發(fā)布。
[0028]如圖2所示,為本發(fā)明實施例一種自動化構(gòu)建與部署代碼的服務(wù)器結(jié)構(gòu)示意圖,所述自動化構(gòu)建與部署代碼的服務(wù)器包括:
[0029]獲取單元21,用于根據(jù)需要構(gòu)建的源代碼目錄,讀取所述源代碼目錄下所有文件和目錄;
[0030]構(gòu)建單元22,用于根據(jù)需要構(gòu)建的任務(wù)和配置的構(gòu)建任務(wù)文件,執(zhí)行相應(yīng)的任務(wù)構(gòu)建腳本,生成構(gòu)建的代碼dist目錄和文件;
[0031]部署單元23,用于根據(jù)需要部署的項目路徑,將構(gòu)建完成的代碼dist目錄下的文件拷貝到相應(yīng)目錄下。
[0032]優(yōu)選的,所述自動化構(gòu)建與部署代碼的服務(wù)器還可以包括:配置單元24,用于接收通過瀏覽器遠(yuǎn)程訪問的方式傳送的配置信息,并根據(jù)所述配置信息配置所述需要構(gòu)建的源代碼目錄、所述需要構(gòu)建的任務(wù)以及所述需要部署的項目路徑;或者,采用默認(rèn)配置。
[0033]優(yōu)選的,所述構(gòu)建單元22,進(jìn)一步用于如果代碼構(gòu)建出錯,則給出錯誤位置提示信息,并修改源代碼后,重新觸發(fā)所述獲取單元;所述部署單元23,進(jìn)一步用于如果代碼部署出錯,則給出錯誤位置提示信息,并修改源代碼后,重新觸發(fā)所述獲取單元。
[0034]優(yōu)選的,所述需要部署的項目路徑為:代碼測試過程中的測試部署路徑,所述相應(yīng)目錄為:提供了可以訪問所述文件環(huán)境的根目錄;所述自動化構(gòu)建與部署代碼的服務(wù)器還可以包括:測試單元25,用于對部署完成的測試代碼進(jìn)行測試,如果測試不通過,則修改源代碼,重新觸發(fā)所述獲取單元;如果測試通過,則通過源代碼管理器提交源代碼到代碼托管服務(wù)器。
[0035]優(yōu)選的,所述需要部署的項目路徑為:代碼生產(chǎn)過程中的生產(chǎn)部署路徑,所述相應(yīng)目錄為:源代碼管理器的生成代碼目錄;所述自動化構(gòu)建與部署代碼的服務(wù)器還可以包括:發(fā)布單元26,用于將部署完成的生產(chǎn)代碼推送到線上服務(wù)器進(jìn)行發(fā)布。
[0036]上述技術(shù)方案具有如下有益效果:實現(xiàn)了代碼構(gòu)建的自動化,有助于代碼研發(fā)者提高代碼編寫效率,從而將更多的精力投入到代碼質(zhì)量上的研發(fā),并且降低了初入代碼研發(fā)工作的門檻。
[0037]以下通過應(yīng)用實例對本發(fā)明實施