欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于敏捷開(kāi)發(fā)支持多部署模式的流水線(xiàn)發(fā)布方法及系統(tǒng)與流程

文檔序號(hào):40554634發(fā)布日期:2025-01-03 11:14閱讀:9來(lái)源:國(guó)知局
基于敏捷開(kāi)發(fā)支持多部署模式的流水線(xiàn)發(fā)布方法及系統(tǒng)與流程

本發(fā)明涉及計(jì)算機(jī)軟件應(yīng)用部署,尤其涉及一種基于敏捷開(kāi)發(fā)支持多部署模式的流水線(xiàn)發(fā)布方法及系統(tǒng)。


背景技術(shù):

1、隨著互聯(lián)網(wǎng)技術(shù)進(jìn)步,容器化技術(shù)成熟和微服務(wù)架構(gòu)的普及,我們已經(jīng)逐漸從傳統(tǒng)部署過(guò)渡到了容器化部署時(shí)代。而隨著應(yīng)用的部署方式發(fā)生了改變,部署的內(nèi)容增多,版本迭代周期縮短,需要研發(fā)運(yùn)維人員學(xué)習(xí)掌握新的技術(shù)和快速的去部署更新應(yīng)用,適應(yīng)應(yīng)用的敏捷開(kāi)發(fā)模式。但從實(shí)際情況來(lái)看,一種應(yīng)用的部署方式既要支持容器化部署,同時(shí)也需要和和傳統(tǒng)部署方式兼容,原因如下:

2、1、隨著技術(shù)的進(jìn)步,容器化部署雖然已經(jīng)成為一種趨勢(shì),但傳統(tǒng)部署方式仍在廣泛使用,特別是一些老舊系統(tǒng)或特定場(chǎng)景下。因此,支持容器化部署的同時(shí),也需要兼容傳統(tǒng)部署方式,以滿(mǎn)足不同系統(tǒng)開(kāi)發(fā)迭代的需求。

3、2、容器化部署雖然提供了更高的靈活性和可擴(kuò)展性。然而,在某些情況下,傳統(tǒng)部署方式可能更適合,例如對(duì)于一些對(duì)性能要求極高或需要特定配置的應(yīng)用程序。因此,兼容傳統(tǒng)部署方式可以增加系統(tǒng)的靈活性和可擴(kuò)展性。

4、3、許多現(xiàn)有的應(yīng)用程序和系統(tǒng)都是基于傳統(tǒng)部署方式開(kāi)發(fā)的,尤其是電力行業(yè)信息化起步比較早,一些長(zhǎng)期使用的信息系統(tǒng)架構(gòu)比較老舊,如果完全放棄傳統(tǒng)部署方式,可能會(huì)導(dǎo)致這些應(yīng)用程序和系統(tǒng)無(wú)法正常迭代更新。因此,支持容器化部署的同時(shí),也需要兼容傳統(tǒng)部署方式,以確保系統(tǒng)的穩(wěn)定性和兼容性。

5、4、容器化部署雖然可以降低硬件和運(yùn)維成本,提高資源利用率。然而,對(duì)于一些小型系統(tǒng)來(lái)說(shuō),采用容器化部署方式反而比較浪費(fèi)資源和預(yù)算。因此,兼容傳統(tǒng)部署方式可以滿(mǎn)足這些系統(tǒng)的需求,降低他們的成本。

6、綜上所述,支持容器化部署和兼容傳統(tǒng)部署方式可以滿(mǎn)足不同系統(tǒng)的發(fā)布需求,提高系統(tǒng)的靈活性和可擴(kuò)展性,確保企業(yè)研發(fā)系統(tǒng)的穩(wěn)定性和兼容性。但是,現(xiàn)有容器化部署的技術(shù)儲(chǔ)備存在一定不足,比如:學(xué)習(xí)成本高,需要開(kāi)發(fā)和運(yùn)維人員學(xué)習(xí)docker和k8s相關(guān)的指令,需要學(xué)習(xí)鏡像的制作和pod的部署等內(nèi)容,增加操作人員的學(xué)習(xí)成本;部署周期長(zhǎng),應(yīng)用服務(wù)模塊增多,需要部署的運(yùn)行環(huán)境和應(yīng)用程序包也相應(yīng)增多,增加了運(yùn)維人員的工作量,系統(tǒng)更新部署的發(fā)布效率低下。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明主要解決的技術(shù)問(wèn)題是提供一種基于敏捷開(kāi)發(fā)支持多部署模式的流水線(xiàn)發(fā)布方法及系統(tǒng),解決現(xiàn)有容器化部署的技術(shù)中存在的學(xué)習(xí)成本高、部署周期長(zhǎng)問(wèn)題。

2、為解決上述技術(shù)問(wèn)題,本發(fā)明采用的一個(gè)技術(shù)方案是:提供一種基于敏捷開(kāi)發(fā)支持多部署模式的流水線(xiàn)發(fā)布方法,其特征在于:包括以下步驟:

3、步驟一、基礎(chǔ)軟件安裝部署:在單一網(wǎng)絡(luò)條件下,規(guī)劃至少3臺(tái)服務(wù)器,1臺(tái)安裝gitlab,作為代碼倉(cāng)庫(kù)源地址;1臺(tái)安裝持續(xù)交付微應(yīng)用、jenkins、jenkins插件,作為程序編譯執(zhí)行節(jié)點(diǎn),通過(guò)創(chuàng)建持續(xù)集成任務(wù),調(diào)用插件完成程序編譯并將產(chǎn)出物推送至服務(wù)器或?qū)⑷萜麋R像推送到鏡像倉(cāng)庫(kù)中;1臺(tái)安裝docker、kubectl,作為容器化相關(guān)執(zhí)行節(jié)點(diǎn),執(zhí)行構(gòu)建docker鏡像以及k8s集群pod創(chuàng)建、替換以及遠(yuǎn)程啟停操作;

4、步驟二、應(yīng)用配置:完成包括應(yīng)用名稱(chēng)在內(nèi)的基礎(chǔ)信息的維護(hù),確定開(kāi)發(fā)模式、以及gitlab代碼倉(cāng)庫(kù)源地址;

5、步驟三、服務(wù)器資源配置:作為傳統(tǒng)部署模式下編譯產(chǎn)出物的目標(biāo)發(fā)送目的地,完成服務(wù)器資源名稱(chēng)、ip地址、端口、用戶(hù)名、密碼信息的維護(hù),同步到j(luò)enkins中ssh?servers中;

6、步驟四、鏡像倉(cāng)庫(kù)資源配置:作為容器化部署模式下生成鏡像所要推送的目的地,完成鏡像倉(cāng)庫(kù)資源名稱(chēng)、url地址、用戶(hù)名、密碼信息的維護(hù);

7、步驟五、k8s集群配置:作為容器化部署模式下程序發(fā)布的載體,完成集群名稱(chēng)、master地址以及config文件的維護(hù),支持原生k8s集群以及rancher、kubesphere主流容器調(diào)度平臺(tái);

8、步驟六、應(yīng)用環(huán)境配置:對(duì)于傳統(tǒng)部署模式,將應(yīng)用與步驟三中所配置好的服務(wù)器資源進(jìn)行關(guān)聯(lián),作為傳統(tǒng)部署模式下應(yīng)用發(fā)布的環(huán)境,同時(shí)編寫(xiě)部署腳本,將產(chǎn)出物發(fā)布到服務(wù)器中后進(jìn)行應(yīng)用啟停操作的命令維護(hù)到部署腳本中,方便后續(xù)應(yīng)用流水線(xiàn)進(jìn)行編譯產(chǎn)出物的發(fā)布;

9、步驟七、新建配置流水線(xiàn):創(chuàng)建該應(yīng)用下的一條持續(xù)交付的流水線(xiàn),設(shè)置流水線(xiàn)中不同的任務(wù)節(jié)點(diǎn),最重要的是構(gòu)建部署類(lèi)型的節(jié)點(diǎn),確保代碼進(jìn)行編譯發(fā)布,其中,流水線(xiàn)上不同類(lèi)型的流程任務(wù),是通過(guò)不同的插件實(shí)現(xiàn);

10、步驟八、流水線(xiàn)執(zhí)行:開(kāi)發(fā)人員編寫(xiě)業(yè)務(wù)應(yīng)用代碼,并提供所述應(yīng)用代碼編譯構(gòu)建所需的腳本及配置文件,上傳至gitlab代碼倉(cāng)庫(kù)中,通過(guò)流水線(xiàn)手動(dòng)、定時(shí)或自動(dòng)觸發(fā)的方式進(jìn)行執(zhí)行,進(jìn)行應(yīng)用部署發(fā)布。

11、進(jìn)一步的,所述步驟二中,所述開(kāi)發(fā)模式包括自由模式和分支模式。

12、進(jìn)一步的,所述步驟七中,流水線(xiàn)節(jié)點(diǎn)類(lèi)型包括:

13、構(gòu)建傳統(tǒng)部署:傳統(tǒng)部署模式下構(gòu)建打包,并把構(gòu)建成果部署到配置好的環(huán)境運(yùn)行;

14、構(gòu)建容器化部署:容器化部署模式下構(gòu)建打包,并把構(gòu)建成果構(gòu)建為docker鏡像部署到配置好的環(huán)境或k8s集群中運(yùn)行;

15、人工卡點(diǎn):需要人工判斷是否ok的任務(wù),用來(lái)作為流水線(xiàn)上人工測(cè)試、安全審核流程卡點(diǎn);

16、合并主干:特性分支合并到master的操作。

17、進(jìn)一步的,在傳統(tǒng)部署模式的情況下,需提供包括包標(biāo)簽、構(gòu)建命令、構(gòu)建包輸出、部署腳本文件的配置信息;

18、包標(biāo)簽用于區(qū)分不同用途的包,比如部署到測(cè)試環(huán)境的包和部署到生產(chǎn)環(huán)境的包,包標(biāo)簽的名稱(chēng)作為環(huán)境變量env_label的值傳入構(gòu)建過(guò)程;

19、構(gòu)建命令需要填寫(xiě)構(gòu)建時(shí)執(zhí)行的命令,如需用到腳本則以當(dāng)前工程目錄為根目錄填寫(xiě)腳本的相對(duì)路徑;

20、構(gòu)建包輸出、部署腳本文件與構(gòu)建命令用法類(lèi)似,填寫(xiě)以當(dāng)前工程目錄為根目錄填寫(xiě)構(gòu)建包、腳本文件的相對(duì)路徑。

21、進(jìn)一步的,在容器化部署模式的情況下,需提供包括dockerfile路徑、鏡像倉(cāng)庫(kù)、鏡像地址、鏡像標(biāo)簽、k8s集群、部署配置文件的配置信息;

22、dockerfile路徑是以當(dāng)前工程目錄為根目錄填寫(xiě)dockerfile的相對(duì)路徑;

23、鏡像倉(cāng)庫(kù)、鏡像地址、鏡像標(biāo)簽指的是配置所述步驟四配置好的且已授權(quán)的registry以及?docker構(gòu)建完成之后要push到的docker?repo的url地址;

24、k8s集群指的是配置所述步驟五配置好的且已授權(quán)的kubernates集群;

25、部署配置文件有兩種選擇方式,對(duì)于docker和k8s知識(shí)儲(chǔ)備較高的開(kāi)發(fā)運(yùn)維人員來(lái)說(shuō)選擇“自定義路徑”方式,將編寫(xiě)好的部署yaml文件放置于代碼倉(cāng)庫(kù)內(nèi),直接填寫(xiě)相對(duì)于根目錄的路徑;對(duì)于docker和k8s知識(shí)儲(chǔ)備較低的開(kāi)發(fā)運(yùn)維人員來(lái)說(shuō)通過(guò)系統(tǒng)內(nèi)置模板進(jìn)行部署文件的配置。

26、進(jìn)一步的,所述步驟八中,所述開(kāi)發(fā)模式采用的是分支模式,則運(yùn)行流水線(xiàn)前需用戶(hù)手動(dòng)提交要發(fā)布的分支;在構(gòu)建部署后通過(guò)所述合并主干類(lèi)型的節(jié)點(diǎn)進(jìn)行主分支合并操作。

27、進(jìn)一步的,所述步驟八中,所述開(kāi)發(fā)模式采用的是自由模式,則通過(guò)配置cron表達(dá)式進(jìn)行定時(shí)或通過(guò)gitlab的webhook自動(dòng)觸發(fā)執(zhí)行流水線(xiàn)。

28、進(jìn)一步的,所述步驟八中,在傳統(tǒng)部署模式的情況下把構(gòu)建好的程序包上傳至配置好的服務(wù)器資源中進(jìn)行下載或發(fā)布操作。

29、進(jìn)一步的,所述步驟八中,在容器化部署模式的情況下把構(gòu)建好的docker鏡像上傳到配置好的鏡像倉(cāng)庫(kù)后,拉取到服務(wù)器或k8s集群中進(jìn)行pod的創(chuàng)建、替換及啟停操作。

30、為解決上述技術(shù)問(wèn)題,本發(fā)明采用的一個(gè)技術(shù)方案是:提供一種基于敏捷開(kāi)發(fā)支持多部署模式的流水線(xiàn)發(fā)布系統(tǒng),其特征在于:包括基礎(chǔ)軟件安裝部署模塊、應(yīng)用配置模塊和流水線(xiàn)執(zhí)行模塊,其中:

31、基礎(chǔ)軟件安裝部署模塊:用于gitlab、jenkins、jenkins插件、docker、kubectl、持續(xù)交付微應(yīng)用的安裝;

32、應(yīng)用配置模塊:用于持續(xù)交付微應(yīng)用中相關(guān)應(yīng)用、流水線(xiàn)、服務(wù)器、k8s集群、鏡像倉(cāng)庫(kù)以及特性分支的配置,具體包括:新建配置應(yīng)用、服務(wù)器、k8s集群、鏡像倉(cāng)庫(kù),應(yīng)用中關(guān)聯(lián)發(fā)布環(huán)境以及新建配置流水線(xiàn)、特性分支;

33、流水線(xiàn)執(zhí)行模塊:用于持續(xù)交付微應(yīng)用中特性分支的提交發(fā)布以及流水線(xiàn)運(yùn)行,包括特性分支提交、編譯發(fā)布、手工節(jié)點(diǎn)、合并主干。

34、本發(fā)明的有益效果是:

35、本發(fā)明實(shí)現(xiàn)web可視化頁(yè)面方式部署應(yīng)用系統(tǒng),通過(guò)集成jenkins最基礎(chǔ)的編譯任務(wù)的方式實(shí)現(xiàn)從項(xiàng)目的代碼拉取、編譯、打包和部署的過(guò)程,用戶(hù)無(wú)需關(guān)心系統(tǒng)測(cè)試、生產(chǎn)等運(yùn)行環(huán)境差異導(dǎo)致部署包或鏡像不同以及手動(dòng)編譯、部署、發(fā)布的繁雜,降低了操作風(fēng)險(xiǎn),減少了部署時(shí)間;在支持傳統(tǒng)部署方式的同時(shí)支持容器化部署方式,在部署的時(shí)候是把應(yīng)用程序構(gòu)建成docker鏡像,把鏡像部署到k8s集群中,可以屏蔽操作系統(tǒng)的差異,體現(xiàn)容器化部署方式下應(yīng)用系統(tǒng)的負(fù)載均衡和故障自愈等優(yōu)勢(shì);提供私有化鏡像倉(cāng)庫(kù),把應(yīng)用程序的鏡像包自動(dòng)上傳到私有倉(cāng)庫(kù)中,方便系統(tǒng)的遷移和擴(kuò)展;集成jenkins、docker和k8s等組件接口,可以在web可視化界面上直接配置以及調(diào)用相應(yīng)的資源,實(shí)現(xiàn)應(yīng)用的發(fā)布和管理工作,簡(jiǎn)化了操作,降低了運(yùn)維人員的工作量,提高了系統(tǒng)更新部署的發(fā)布效率,從而降低了時(shí)間及人力成本。

36、為了讓本技術(shù)的上述和其他目的、特征和優(yōu)點(diǎn)更能明顯易懂,下文特舉較佳實(shí)施例,并配合所附圖示,做詳細(xì)說(shuō)明如下。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南江县| 苍溪县| 德州市| 济阳县| 扶绥县| 广水市| 六枝特区| 张家口市| 绥江县| 三穗县| 措勤县| 连州市| 澄迈县| 孙吴县| 衡阳县| 隆德县| 忻城县| 克东县| 太湖县| 澄迈县| 湟中县| 沙雅县| 吉水县| 峨山| 青龙| 绥德县| 澄迈县| 无极县| 玉树县| 吉水县| 酉阳| 新丰县| 怀柔区| 都匀市| 平泉县| 桦甸市| 东城区| 商南县| 富阳市| 阿瓦提县| 若尔盖县|