1、jenkins服務(wù)器和應(yīng)用服務(wù)器是同一臺(tái)機(jī)器
實(shí)例:Windows版 Jenkins 自動(dòng)化部署
流程: 代碼上傳->gitlab通知->服務(wù)器->打包->本地tomcat-自動(dòng)發(fā)布
基礎(chǔ)環(huán)境:tomcat术唬、jdk恩溅、maven系草、git
好處:相比兩臺(tái)服務(wù)減少網(wǎng)絡(luò)傳輸消耗抖锥,減少構(gòu)建失敗率等等
缺點(diǎn):jenkins服務(wù)器占用的內(nèi)存高登舞,沒有做到解耦構(gòu)建和部署過程
適合:兩者服務(wù)器不能能通信情況菲驴,需要把Jenkins和tomcat服務(wù)器放在一臺(tái)服務(wù)器上,不建議使用
2错英、jenkins服務(wù)器和應(yīng)用服務(wù)器不在同一臺(tái)機(jī)器上
前提條件:兩者服務(wù)器能通信
jenkins服務(wù)器和應(yīng)用服務(wù)器為什么要分開:
1.管理復(fù)雜的部署環(huán)境
2.解耦構(gòu)建和部署過程
3.支持多種部署策略
4.落實(shí)部署流程規(guī)范
5.讓部署操作服務(wù)化
2.1 jenkins服務(wù)器 負(fù)責(zé)執(zhí)行流程
流程: 代碼上傳->gitlab通知->jenkins服務(wù)器git下拉->jenkins服務(wù)器maven打包->發(fā)送到遠(yuǎn)程應(yīng)用服務(wù)器的tomcat->發(fā)布
jenkins服務(wù)器環(huán)境:jdk入撒、jenkins.war、git椭岩,maven茅逮、git、tomcat(可選判哥,但不推薦)
應(yīng)用服務(wù)器環(huán)境:jdk献雅、tomcat
好處:實(shí)現(xiàn)構(gòu)建和部署過程的解耦
缺點(diǎn):1.在jenkins服務(wù)器拉取代碼進(jìn)行打包后->發(fā)送到遠(yuǎn)程應(yīng)用服務(wù)器 —_— 但打包的文件過大,需要考 慮到網(wǎng)絡(luò)傳輸?shù)南暮蜆?gòu)建失敗率塌计。
? 2.多環(huán)境構(gòu)建帶來的壓力挺身,比如說:多個(gè)項(xiàng)目用到的java版本不一致。
適合:適合項(xiàng)目打包后的 文件大小 較小的情況 (例如小于50M)夺荒,不建議使用這種部署方式瞒渠。
2.2 應(yīng)用服務(wù)器 負(fù)責(zé)流執(zhí)行程 (推薦)
實(shí)例:Linux版 jenkins自動(dòng)化部署
流程:代碼上傳->gitlab通知->jenkins服務(wù)器執(zhí)行構(gòu)建->遠(yuǎn)程應(yīng)用服務(wù)器git下拉->遠(yuǎn)程應(yīng)用服務(wù)器maven打包->發(fā)送到遠(yuǎn)程應(yīng)用服務(wù)器的tomcat->發(fā)布
好處:實(shí)現(xiàn)構(gòu)建和部署過程的解耦良蒸,減少網(wǎng)絡(luò)傳輸消耗和構(gòu)建失敗率技扼,減少Jenkins服務(wù)器環(huán)境的壓力
缺點(diǎn):多環(huán)境伍玖,多系統(tǒng)的維護(hù)成本
適合:多環(huán)境項(xiàng)目的使用,項(xiàng)目打包很大的情況