成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

docker+gitlab+jenkins從零搭建自動(dòng)化部署

瀏覽:228日期:2024-10-26 09:29:05
目錄前言:一、安裝Docker二、Docker 安裝Jenkins1. 搜索倉(cāng)庫(kù)中的jenkins鏡像2. 通過(guò)拉取jenkins鏡像到本地images中3. 啟動(dòng)jenkins容器三、登陸Jenkins的初始化操作四、全局工具配置(配置環(huán)境)五、安裝Maven插件 點(diǎn)擊系統(tǒng)管理?插件管理六、新建任務(wù),完成自動(dòng)化部署前言:

通過(guò)幾天的學(xué)習(xí)和自己的理解,整理了下Docker+Jenkins的自動(dòng)部署教程,如有不足,還請(qǐng)多多指點(diǎn),謝謝!

Docker的優(yōu)點(diǎn):

Docker 讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴(lài)包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux機(jī)器上,便可以實(shí)現(xiàn)虛擬化。Docker改變了虛擬化的方式,使開(kāi)發(fā)者可以直接將自己的成果放入Docker中進(jìn)行管理。方便快捷已經(jīng)是Docker的最大優(yōu)勢(shì),過(guò)去需要用數(shù)天乃至數(shù)周的 任務(wù),在Docker容器的處理下,只需要數(shù)秒就能完成。結(jié)構(gòu):客戶端→Docker_Host(宿主機(jī))→倉(cāng)庫(kù)三個(gè)概念 容器→鏡像→倉(cāng)庫(kù)

為什么使用Jenkins:

傳統(tǒng)的部署項(xiàng)目,當(dāng)項(xiàng)目完成后,需要我們自己從代碼倉(cāng)庫(kù)中拉取代碼到本地,完成打包,然后上傳到服務(wù)器,然后配置項(xiàng)目的運(yùn)行環(huán)境并啟動(dòng)。這樣顯然有一點(diǎn)的缺陷,我們?cè)陂_(kāi)發(fā)中存在的一些bug由于不能即時(shí)的發(fā)現(xiàn),導(dǎo)致后期修復(fù)bug而存在導(dǎo)致連鎖效應(yīng)的風(fēng)險(xiǎn)。而且我們經(jīng)常修改代碼后,需要重新打包,然后上傳到服務(wù)器,然后運(yùn)行,當(dāng)項(xiàng)目很多的時(shí)候,這樣的一些重復(fù)性機(jī)械操作導(dǎo)致我們有些力不從心。而我們使用Jenkins后真正的幫我們實(shí)現(xiàn)了自動(dòng)化部署,當(dāng)我們代碼更新后,push到代碼倉(cāng)庫(kù)中,我們只需在Jenkins的可視化界面點(diǎn)擊構(gòu)建項(xiàng)目,Jenkins便會(huì)根據(jù)我們配置的倉(cāng)庫(kù)地址自動(dòng)拉取代碼,自動(dòng)打包,并運(yùn)行,完成自動(dòng)化部署。

一、安裝Docker

Docker 要求 CentOS 系統(tǒng)的內(nèi)核版本在 3.10以上 ,查看本頁(yè)面的前提條件來(lái)驗(yàn)證你的CentOS 版本是否支持 Docker。

1. 通過(guò) uname -r 命令查看你當(dāng)前的內(nèi)核版本

uname -r

2. 使用 root 權(quán)限登錄 Centos。確保 yum 包更新到最新。

yum -y update

3. 卸載舊版本(如果安裝過(guò)舊版本的話)

yum remove docker docker-common docker-selinux docker-engine

4. 安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個(gè)是devicemapper驅(qū)動(dòng)依賴(lài)的

yum install -y yum-utils device-mapper-persistent-data lvm2

5. 設(shè)置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6. 可以查看所有倉(cāng)庫(kù)中所有docker版本,并選擇特定版本安裝

yum list docker-ce --showduplicates | sort -r

7. 安裝docker

sudo yum install -y docker-ce #由于repo中默認(rèn)只開(kāi)啟stable倉(cāng)庫(kù),故這里安裝的是最新穩(wěn)定版18.03.1

8. 啟動(dòng)并加入開(kāi)機(jī)啟動(dòng)

systemctl start docker //啟動(dòng)dockersystemctl enable docker //設(shè)置為開(kāi)機(jī)啟動(dòng)

9. 驗(yàn)證安裝是否成功(有client和service兩部分表示docker安裝啟動(dòng)都成功了)

docker version二、Docker 安裝Jenkins1. 搜索倉(cāng)庫(kù)中的jenkins鏡像

docker search jenkins

jenkins 表示你要搜索的鏡像名,DESCRIPTION中包含jenkins的也會(huì)顯示出來(lái)

2. 通過(guò)拉取jenkins鏡像到本地images中

docker pull jenkins/jenkins注意這里拉取的是jenkins/jenkins版本,因?yàn)橄惹暗膉enkins版本只有2.60,導(dǎo)致安裝jenkins插件失敗拉取的時(shí)候可以指定版本,例如docker pull java:8 表示拉取的java版本為8; 不指定版本則默認(rèn)為最新版本 latest 3. 啟動(dòng)jenkins容器

docker run --name myjenkins -d -p 8081:8080 -p 8085:8085 jenkins/jenkins

?name myjenkins 指定容器NAME為myjenkins-d 表示后臺(tái)運(yùn)行-p 8081:8080 表示Docker Host(運(yùn)行Docker的主機(jī))端口 與Docker容器內(nèi)運(yùn)行的端口映射, 8081表示DockerHost的端口,8080即容器內(nèi)的端口; 外部訪問(wèn)8081即可訪問(wèn)到Docker容器的8080端口jenkins/jenkins 表示啟動(dòng)的鏡像為jenkins/jenkins ,查看本地鏡像可以通過(guò)docker images查看

說(shuō)明: 1.容器內(nèi)的端口外部無(wú)法直接訪問(wèn),因?yàn)橐渲肈ocker Host與容器的端口映射,映射可以配置多個(gè);由于后面需要部署項(xiàng)目,提前把項(xiàng)目的端口號(hào)-p 8085:8085配置好,不配置的也可以,后面去修端口映射文件即可。 2.其實(shí)我們也可以省略第二步pull操作,直接啟動(dòng)一個(gè)容器,Docker會(huì)先去本地images中查看是否有這個(gè)鏡像,如果沒(méi)有的話會(huì)去DockerHub倉(cāng)庫(kù)去下載。

三、登陸Jenkins的初始化操作

1. 訪問(wèn)jenkins界面,例如我虛擬機(jī)IP是192.168.199.188 ,輸入192.168.199.188:8081,回車(chē)顯示以下界面

docker+gitlab+jenkins從零搭建自動(dòng)化部署

進(jìn)入安裝Jenkins的容器內(nèi)

docker exec -it myjenkins bash// 進(jìn)入指定容器,myjenkins表示我們啟動(dòng)容器時(shí)給容器指定的名稱(chēng)cat /var/jenkins_home/secrets/initialAdminPassword` //查看密碼,復(fù)制密碼粘貼到文本框內(nèi)

操作圖示:

docker+gitlab+jenkins從零搭建自動(dòng)化部署

2. 安裝插件,這里就安裝jenkins推薦的插件

點(diǎn)擊安裝推薦插件:

docker+gitlab+jenkins從零搭建自動(dòng)化部署

3. 自動(dòng)安裝中,需要稍等片刻,安裝完成點(diǎn)擊繼續(xù):

docker+gitlab+jenkins從零搭建自動(dòng)化部署

4. 創(chuàng)建管理員用戶,也可以直接使用admin賬戶繼續(xù):

docker+gitlab+jenkins從零搭建自動(dòng)化部署

5. 實(shí)例配置 直接保存完成:

docker+gitlab+jenkins從零搭建自動(dòng)化部署

6. 開(kāi)始使用Jenkins:

docker+gitlab+jenkins從零搭建自動(dòng)化部署

7. 進(jìn)入Jenkins主頁(yè):

docker+gitlab+jenkins從零搭建自動(dòng)化部署

四、全局工具配置(配置環(huán)境)

點(diǎn)擊系統(tǒng)管理?全局工具配置

1. 配置JDK: 取消自動(dòng)安裝(一般容器內(nèi)都安裝好了JDK環(huán)境), 進(jìn)入docker容器,使用echo $JAVA_HOME 獲取jdk安裝路徑,將路徑復(fù)制到JAVA_HOME文本框

docker+gitlab+jenkins從零搭建自動(dòng)化部署

2. 配置Maven: 指定name,自動(dòng)安裝,點(diǎn)擊Save即可

docker+gitlab+jenkins從零搭建自動(dòng)化部署

五、安裝Maven插件 點(diǎn)擊系統(tǒng)管理?插件管理

docker+gitlab+jenkins從零搭建自動(dòng)化部署

六、新建任務(wù),完成自動(dòng)化部署

1. 回到首頁(yè),點(diǎn)New 任務(wù),構(gòu)建一個(gè)Maven項(xiàng)目

docker+gitlab+jenkins從零搭建自動(dòng)化部署

2. 點(diǎn)擊確定,回到首頁(yè)我們發(fā)現(xiàn)多了一個(gè)名為SpringBoot_AutoTest1的任務(wù)(上面的任務(wù)是以前的,不用理會(huì))

docker+gitlab+jenkins從零搭建自動(dòng)化部署

3. 點(diǎn)擊項(xiàng)目名SpringBoot_AutoTest1 --> 點(diǎn)擊配置

3.1 源碼管理(配置git倉(cāng)庫(kù)地址,Jenkins會(huì)從遠(yuǎn)程倉(cāng)庫(kù)拉取代碼):

docker+gitlab+jenkins從零搭建自動(dòng)化部署

3.2 構(gòu)建配置(Jenkin拉取代碼后會(huì)自動(dòng)執(zhí)行打包命令):

docker+gitlab+jenkins從零搭建自動(dòng)化部署

3.3 配置shell腳本(Jenkins打包完成后,自動(dòng)執(zhí)行shell腳本啟動(dòng)項(xiàng)目,實(shí)現(xiàn)自動(dòng)化部署),最后保存即可:

docker+gitlab+jenkins從零搭建自動(dòng)化部署

附shell腳本:

#!/bin/bash# #!/bin/bash是指此腳本使用/bin/bash來(lái)解釋執(zhí)行。其中,#!是一個(gè)特殊的表示符,其后,跟著解釋此腳本的shell路徑。bash只是shell的一種,還有很多其它shell,如:sh,csh,ksh,tcsh,...# #!/bin/bash只能放在第一行,如果后面還有#!,那么只能看成是注釋。#服務(wù)名稱(chēng)SERVER_NAME=SpringBoot_AutotTest#源jar路徑,mm打包完成之后,target目錄下的jar包名稱(chēng),也可選擇成為war包,war包 可移動(dòng)到Tomcat的。JAR_NAME=jekins-0.0.1-SNAPSHOT#target打包生成jar包的目錄JAR_PATH=/var/jenkins_home/workspace/SpringBoot_AutotTest/target # 以具體的打包位置為準(zhǔn),可以先構(gòu)建一次項(xiàng)目,通過(guò)日志查看打包的目錄#打包完成之后,把iar包移動(dòng)到運(yùn)行jar包的目錄JAR_WORK_PATH=/var/jenkins_home/workspace/SpringBoot_AutotTest/targetecho '查詢(xún)進(jìn)程id-->$SERVER_NAME'PID=`ps -ef | grep '$SERVER_NAME' | awk ’{print $2}’`echo'得到進(jìn)程ID: $PID'echo'結(jié)束進(jìn)程'for id in $PIDdokill -9 $idecho 'killed $id' doneecho'結(jié)束進(jìn)程完成'#復(fù)制jar包到執(zhí)行目錄_echo' 復(fù)制jar包到執(zhí)行目錄:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH'cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATHecho'復(fù) 制jar包完成'cd $JAR_WORK_PATH#修改文件權(quán)限chmod 755 $JAR_NAME.jar#前臺(tái)啟動(dòng)#java -jar $JAR_NAME.jar#后臺(tái)啟動(dòng)BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &

到此這篇關(guān)于docker+gitlab+jenkins從零搭建自動(dòng)化部署的文章就介紹到這了,更多相關(guān)docker+gitlab+jenkins自動(dòng)化部署內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Docker
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
91久久精品国产91久久性色tv| 欧美黄色一级视频| 中日韩免费视频中文字幕| 日韩在线a电影| 一区二区三区欧美激情| 自拍偷自拍亚洲精品播放| 一区三区视频| 奇米四色…亚洲| 91精品国产色综合久久不卡电影 | 亚洲区第一页| 国产午夜精品一区二区三区嫩草 | 欧美激情在线| 国产一区二区影院| 蜜乳av一区二区三区| 国产精品国产自产拍在线| 久久精品视频在线免费观看 | 日韩亚洲欧美成人一区| 亚洲成人综合视频| 国产在线视频精品一区| 717成人午夜免费福利电影| 亚洲精品在线观看免费| 国产精品v欧美精品v日韩| 国产精品午夜春色av| 亚洲一线二线三线视频| 国产三级精品三级在线专区| 在线免费高清一区二区三区| 麻豆精品在线播放| 天堂成人免费av电影一区| 久久裸体视频| 欧美在线综合视频| 久久国产精品毛片| 久久激情网站| 在线免费亚洲电影| 欧美日韩国产综合一区二区| 性欧美暴力猛交另类hd| 狂野欧美一区| 日本韩国欧美在线| 欧美精品丝袜久久久中文字幕| 欧美日韩另类一区| 免费在线一区二区| 国产伦一区二区三区色一情| 男女av一区三区二区色多| 色婷婷av一区二区三区软件 | 欧美一区久久| 欧美在线精品一区| 日韩亚洲视频| 色94色欧美sute亚洲13| 欧美理论片在线| 日韩免费视频一区| 国产精品视频线看| 亚洲香蕉伊在人在线观| 美女mm1313爽爽久久久蜜臀| 日韩电影在线观看网站| 国产成人亚洲综合a∨猫咪| 色综合天天综合给合国产| 日本不卡视频一二三区| 一区二区三区久久| 午夜精品福利一区二区三区av| 美国av一区二区| caoporm超碰国产精品| 中文字幕中文字幕一区| 亚洲超碰97人人做人人爱| 国产一区二区三区| 国产精品1区2区3区| 国产精品sss| 在线一区二区三区四区五区| www一区二区| 国产精品视频观看| 日韩欧美123| 亚洲综合网站在线观看| 国产69精品一区二区亚洲孕妇| 亚洲性感激情| 国产精选一区二区三区| 国产在线不卡视频| 久久久国产一区二区三区四区小说 | 国产一区激情| 国产综合亚洲精品一区二| 中文字幕一区二| 91福利精品视频| 奇米一区二区三区av| 丝袜诱惑制服诱惑色一区在线观看| 91丨九色丨尤物| 在线综合视频播放| 蜜桃av噜噜一区二区三区小说| 亚洲国产精选| 中文字幕高清一区| 91麻豆免费观看| 日韩欧美高清在线| 国产精品99久久久久久久女警 | 欧美日韩中文一区| 丝袜诱惑亚洲看片| 美女尤物久久精品| 成人免费av资源| 性感美女极品91精品| 欧美日韩国产一区精品一区| 日韩精品一区二区三区中文不卡| 丝袜亚洲另类丝袜在线| 中文高清一区| 韩国精品久久久| 老司机一区二区三区| 亚洲成av人片在线| 国产精品久久久久久久久婷婷 | 久久亚洲精品国产精品紫薇| 成人丝袜18视频在线观看| 日韩欧美中文字幕公布| 国产成人亚洲综合色影视| 91精品国产全国免费观看| 国产精品91xxx| 在线播放精品| 亚洲精选视频在线| 国产精品亚洲综合久久| 一区二区三区在线播放| 久久av资源站| 欧美人与性动xxxx| 成人动漫在线一区| 337p粉嫩大胆色噜噜噜噜亚洲| 波波电影院一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲高清成人| 午夜视频一区在线观看| 欧美三级资源在线| 国产精品久久久99| 亚洲第一综合色| 欧美精选在线播放| 尤妮丝一区二区裸体视频| 高清不卡在线观看av| 精品精品国产高清a毛片牛牛 | 精品电影一区二区| 亚洲欧美日韩中文字幕一区二区三区 | 欧美一区二区三区播放老司机| 成人午夜电影网站| 国产精品电影院| 日韩欧美亚洲一区二区| 久久国产精品一区二区三区四区 | 日韩视频在线播放 | 99久久久免费精品国产一区二区| 久久精品男人的天堂| 亚洲精品日本| 青青草国产成人av片免费| 日韩欧美高清在线| 日韩视频二区| 国产一区二区三区四区在线观看| 久久婷婷色综合| 亚洲一区二区三区色| 国产成人在线看| 中文字幕日韩一区| 欧美三级电影在线观看| 欧美日韩精选| 麻豆一区二区三| 中文无字幕一区二区三区| 久久亚洲国产精品日日av夜夜| 成人福利视频网站| 国产精品女主播在线观看| 蜜桃久久精品乱码一区二区| 成人深夜在线观看| 图片区小说区区亚洲影院| 精品国产三级a在线观看| 麻豆久久婷婷| 欧美日韩视频一区二区三区| 激情综合色综合久久| 亚洲精品成人在线| 精品久久99ma| 久久婷婷亚洲| 一区三区视频| kk眼镜猥琐国模调教系列一区二区| 亚洲二区视频在线| 国产精品你懂的| 欧美国产三级| 国产一区二区三区综合| 一区二区三区电影在线播| 欧美α欧美αv大片| 欧美专区亚洲专区| 蜜桃一区二区三区四区| 亚洲天堂成人网| 日韩精品资源二区在线| 日本道精品一区二区三区| 亚洲国产精品第一区二区| 99精品视频在线观看免费| 韩国av一区二区三区在线观看| 亚洲一卡二卡三卡四卡五卡| 国产精品久久夜| 337p粉嫩大胆噜噜噜噜噜91av | 久久99国产精品免费| 日韩伦理av电影| 欧美不卡视频一区| 欧美裸体一区二区三区| 午夜一区二区三视频在线观看 | 国产精品一区二区不卡| 日日夜夜免费精品视频| 一二三区精品视频| 91网站最新地址| 丁香亚洲综合激情啪啪综合| 激情都市一区二区| 日韩欧美国产综合在线一区二区三区| 一本久道久久综合婷婷鲸鱼| 国产一区二区三区四区三区四| 成人国产电影网| 国产成人综合亚洲网站| 国产精品自拍av| 国产高清精品网站|