本說明書實(shí)施例涉及編碼環(huán)境部署領(lǐng)域,特別地,涉及一種編碼環(huán)境自動(dòng)化部署方法、裝置、設(shè)備、存儲(chǔ)介質(zhì)和產(chǎn)品。
背景技術(shù):
1、目前隨著開發(fā)工程,開發(fā)技術(shù)棧的多樣化,現(xiàn)有技術(shù)中編碼環(huán)境和開發(fā)工具的安裝配置日趨復(fù)雜,開發(fā)人員從拿到工程源碼到能夠完成編碼環(huán)境準(zhǔn)備并順利構(gòu)建源碼往往需要較長(zhǎng)的時(shí)間,特別是由于整體信創(chuàng)轉(zhuǎn)型,編碼環(huán)境從基于windows轉(zhuǎn)為基于linux的環(huán)境,由于現(xiàn)有技術(shù)中沒有統(tǒng)一高效的部署手段,導(dǎo)致產(chǎn)生了部署環(huán)境時(shí)間長(zhǎng)且部署方式不統(tǒng)一的問題。
2、因此現(xiàn)在亟需一種編碼環(huán)境自動(dòng)化部署方法,能夠通過統(tǒng)一的編碼環(huán)境部署方式提高部署效率。
技術(shù)實(shí)現(xiàn)思路
1、本說明書實(shí)施例的目的在于提供一種編碼環(huán)境自動(dòng)化部署方法、裝置、設(shè)備、存儲(chǔ)介質(zhì)和產(chǎn)品,以通過統(tǒng)一的編碼環(huán)境部署方式提高部署效率。
2、為達(dá)到上述目的,一方面,本說明書實(shí)施例提供了一種編碼環(huán)境自動(dòng)化部署方法,包括:
3、基于用戶在用戶界面中打開源碼工程的操作,將打開源碼工程的任務(wù)插入服務(wù)端的任務(wù)隊(duì)列,其中所述源碼工程為目標(biāo)應(yīng)用的源碼工程;
4、服務(wù)端根據(jù)所述源碼工程的構(gòu)建方式確定相應(yīng)的ide插件類型,準(zhǔn)備與相應(yīng)類型的ide插件進(jìn)行對(duì)接交互;
5、根據(jù)用戶端的操作系統(tǒng)環(huán)境,配置相應(yīng)用戶界面與用戶端之間的轉(zhuǎn)換協(xié)議;
6、用戶界面基于所述轉(zhuǎn)換協(xié)議向用戶端發(fā)起命令,用戶端啟動(dòng)初始化腳本;
7、用戶端根據(jù)所述初始化腳本,安裝工具和配置環(huán)境;
8、當(dāng)用戶端不存在所述目標(biāo)應(yīng)用的源碼工程時(shí),所述用戶端利用安裝得到的ide插件與服務(wù)端對(duì)接交互,將所述目標(biāo)應(yīng)用的源碼工程拉取至用戶端;
9、用戶端基于ide窗口打開所述源碼工程,進(jìn)行后續(xù)作業(yè);
10、服務(wù)端更新任務(wù)隊(duì)列中打開源碼工程的任務(wù)為完成。
11、優(yōu)選的,所述服務(wù)端根據(jù)所述源碼工程的構(gòu)建方式確定相應(yīng)的ide插件類型進(jìn)一步包括:
12、當(dāng)所述源碼工程包含maven構(gòu)建的pom文件時(shí),確定相應(yīng)的ide插件類型為idea對(duì)應(yīng)的插件;
13、當(dāng)所述源碼工程包含npm構(gòu)建的package.json文件時(shí),確定相應(yīng)的ide插件類型為vscode對(duì)應(yīng)的插件。
14、優(yōu)選的,所述根據(jù)用戶端的操作系統(tǒng)環(huán)境,配置相應(yīng)用戶界面與用戶端之間的轉(zhuǎn)換協(xié)議進(jìn)一步包括:
15、在用戶界面中根據(jù)js腳本確定用戶端的操作系統(tǒng)環(huán)境;
16、當(dāng)所述操作系統(tǒng)環(huán)境為windows環(huán)境時(shí),通過修改注冊(cè)表配置相應(yīng)用戶界面與用戶端之間的轉(zhuǎn)換協(xié)議;
17、當(dāng)所述操作系統(tǒng)環(huán)境為linux環(huán)境時(shí),通過在特定目錄下創(chuàng)建配置文件配置相應(yīng)用戶界面與用戶端之間的轉(zhuǎn)換協(xié)議。
18、優(yōu)選的,所述用戶端根據(jù)所述初始化腳本,安裝工具和配置環(huán)境進(jìn)一步包括:
19、當(dāng)所述初始化腳本為idea腳本時(shí),執(zhí)行下列步驟:
20、檢查并安裝idea軟件,檢查并配置相應(yīng)的環(huán)境變量;
21、檢查并安裝git軟件;
22、檢查并配置maven中的setting.xml文件;
23、檢查并安裝idea插件;
24、當(dāng)所述初始化腳本為vscode腳本時(shí),執(zhí)行下列步驟:
25、檢查并安裝用戶界面開發(fā)所需的依賴;
26、檢查并安裝nvm文件,檢查并配置相應(yīng)的環(huán)境變量;
27、檢查并安裝設(shè)定版本的node;
28、檢查并安裝.npmrc文件,并且將其中的npm中央庫(kù)設(shè)置為制品庫(kù)的中央庫(kù);
29、檢查并安裝git軟件;
30、檢查并安裝vscode插件。
31、優(yōu)選的,所述基于用戶在用戶界面中打開源碼工程的操作,將打開源碼工程的任務(wù)插入服務(wù)端的任務(wù)隊(duì)列之后還包括:
32、用戶界面將所述任務(wù)的用戶的信息和目標(biāo)應(yīng)用的信息發(fā)送至所述服務(wù)端;
33、服務(wù)端判斷所述目標(biāo)應(yīng)用的信息中目標(biāo)應(yīng)用的分支是否在gitlab服務(wù)器中存在;
34、若存在,則將所述用戶的信息和目標(biāo)應(yīng)用的信息保存至所述服務(wù)端的緩存中;
35、若不存在,則在所述gitlab服務(wù)器中創(chuàng)建所述目標(biāo)應(yīng)用的分支,并將所述用戶的信息和目標(biāo)應(yīng)用的信息保存至所述服務(wù)端的緩存中。
36、優(yōu)選的,所述用戶端利用安裝得到的ide插件與服務(wù)端對(duì)接交互,將所述目標(biāo)應(yīng)用的源碼工程拉取至用戶端進(jìn)一步包括:
37、用戶端獲取用戶界面中用戶的信息;
38、當(dāng)ide插件工作時(shí),根據(jù)所述用戶的信息調(diào)用服務(wù)端的交互接口,得到所述用戶所需的目標(biāo)應(yīng)用的信息;
39、根據(jù)所述目標(biāo)應(yīng)用的信息中目標(biāo)應(yīng)用所在的gitlab路徑,拉取所述目標(biāo)應(yīng)用的分支到用戶端;
40、根據(jù)所述目標(biāo)應(yīng)用的信息調(diào)用服務(wù)端的交互接口,得到所述目標(biāo)應(yīng)用所屬用戶界面的業(yè)務(wù)插件信息;
41、根據(jù)所述業(yè)務(wù)插件信息中業(yè)務(wù)插件的下載路徑,通過ide插件下載業(yè)務(wù)插件;
42、調(diào)用服務(wù)端的交互接口,清空所述服務(wù)端的緩存中用戶的信息和目標(biāo)應(yīng)用的信息。
43、另一方面,本說明書實(shí)施例提供了一種編碼環(huán)境自動(dòng)化部署裝置,所述裝置包括:
44、插入模塊,用于基于用戶在用戶界面中打開源碼工程的操作,將打開源碼工程的任務(wù)插入服務(wù)端的任務(wù)隊(duì)列,其中所述源碼工程為目標(biāo)應(yīng)用的源碼工程;
45、類型確定模塊,用于服務(wù)端根據(jù)所述源碼工程的構(gòu)建方式確定相應(yīng)的ide插件類型,準(zhǔn)備與相應(yīng)類型的ide插件進(jìn)行對(duì)接交互;
46、配置模塊,用于根據(jù)用戶端的操作系統(tǒng)環(huán)境,配置相應(yīng)用戶界面與用戶端之間的轉(zhuǎn)換協(xié)議;
47、命令發(fā)起模塊,用于用戶界面基于所述轉(zhuǎn)換協(xié)議向用戶端發(fā)起命令,用戶端啟動(dòng)初始化腳本;
48、安裝配置模塊,用于用戶端根據(jù)所述初始化腳本,安裝工具和配置環(huán)境;
49、拉取模塊,用于當(dāng)用戶端不存在所述目標(biāo)應(yīng)用的源碼工程時(shí),所述用戶端利用安裝得到的ide插件與服務(wù)端對(duì)接交互,將所述目標(biāo)應(yīng)用的源碼工程拉取至用戶端;
50、打開模塊,用于用戶端基于ide窗口打開所述源碼工程,進(jìn)行后續(xù)作業(yè);
51、更新模塊,用于服務(wù)端更新任務(wù)隊(duì)列中打開源碼工程的任務(wù)為完成。
52、又一方面,本說明書實(shí)施例還提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器、以及存儲(chǔ)在所述存儲(chǔ)器上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器運(yùn)行時(shí),執(zhí)行上述任意一項(xiàng)所述方法的指令。
53、又一方面,本說明書實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被計(jì)算機(jī)設(shè)備的處理器運(yùn)行時(shí),執(zhí)行上述任意一項(xiàng)所述方法的指令。
54、又一方面,本說明書實(shí)施例還提供了一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品被計(jì)算機(jī)設(shè)備的處理器運(yùn)行時(shí),執(zhí)行根據(jù)上述任意一項(xiàng)所述方法的指令。
55、由以上本說明書實(shí)施例提供的技術(shù)方案可見,通過本說明書實(shí)施例的方法,用戶在用戶界面中打開源碼工程后,將任務(wù)插入服務(wù)端的任務(wù)隊(duì)列,服務(wù)端根據(jù)源碼工程的構(gòu)建方式確定ide插件類型,以方便后續(xù)交互,配置用戶界面與用戶端之間的轉(zhuǎn)換協(xié)議,基于轉(zhuǎn)換協(xié)議向用戶端發(fā)起命令,啟動(dòng)初始化腳本,然后根據(jù)初始化腳本安裝工具和配置環(huán)境,并利用安裝得到的ide插件與服務(wù)端交互,將源碼工程拉取至用戶端,服務(wù)端更新任務(wù)隊(duì)列防止對(duì)任務(wù)進(jìn)行重復(fù)處理,利用上述方法能夠通過統(tǒng)一的編碼環(huán)境部署方式提高部署效率。
56、為讓本說明書的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附圖式,作詳細(xì)說明如下。