七募谎、Docker應用
7.1 Docker安裝Tomcat
運行Tomcat容器拐纱,為部署SSM工程做準備
# 運行Tomcat容器
[root@localhost ~]# docker run -d -p 8080:8080 --name mytomcat b8dfe9ade316
7.2 Docker安裝MySQL
運行MySQL容器蚂子,為部署SSM工程做準備
# 拉取MySql鏡像
[root@localhost ~]# docker pull daocloud.io/library/mysql:5.7.4
# 運行MySql容器
[root@localhost ~]# docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root daocloud.io/library/mysql:5.7.4
7.3 部署SSM工程
- 修改SSM工程環(huán)境试浙,設置為Linux中Docker容器的信息
- 通過Maven的package重新打成war包
- 將Windows下的war包復制到Linux中
- 通過docker命令將宿主機的war包復制到容器內(nèi)部
- 測試訪問SSM工程
八、數(shù)據(jù)卷【重點
】
為了部署SSM的工程截珍,需要使用到cp的命令將宿主機內(nèi)的ssm.war文件復制到容器內(nèi)部钱床。
數(shù)據(jù)卷:將宿主機的一個目錄映射到容器的一個目錄中纸颜。
可以在宿主機中操作目錄中的內(nèi)容,那么容器內(nèi)部映射的文件法希,也會跟著一起改變屋剑。
8.1 創(chuàng)建數(shù)據(jù)卷
創(chuàng)建數(shù)據(jù)卷之后,默認會存放在一個目錄下 /var/lib/docker/volumes/數(shù)據(jù)卷名稱/_data
docker volume create 數(shù)據(jù)卷名稱
#創(chuàng)建一個名為tomcat的數(shù)據(jù)卷
[root@iz8vbdmrir2n6xqzrbd93hz ~]# docker volume create tomcat
[root@iz8vbdmrir2n6xqzrbd93hz ~]# cd /var/lib/docker/volumes
8.2 查看數(shù)據(jù)卷詳情
查看數(shù)據(jù)卷的詳細信息璃饱,可以查詢到存放路徑谒撼,創(chuàng)建時間等等
docker volume inspect 數(shù)據(jù)卷名稱
[root@iz8vbdmrir2n6xqzrbd93hz ~]# docker volume inspect tomcat
8.3 查看全部數(shù)據(jù)卷
查看全部數(shù)據(jù)卷信息
docker volume ls
[root@iz8vbdmrir2n6xqzrbd93hz ~]# docker volume ls
8.4 刪除數(shù)據(jù)卷
刪除指定數(shù)據(jù)卷
docker volume rm 數(shù)據(jù)卷名稱
[root@iz8vbdmrir2n6xqzrbd93hz ~]# docker volume rm tomcat
8.5 容器映射數(shù)據(jù)卷
映射有兩種方式:
- 第一種:通過數(shù)據(jù)卷名稱映射,如果數(shù)據(jù)卷不存在。Docker會幫你自動創(chuàng)建,會將容器內(nèi)部自帶的文件蚁署,存儲在默認的存放路徑中久妆。
- 第二種:通過路徑映射數(shù)據(jù)卷肋演,直接指定一個路徑作為數(shù)據(jù)卷的存放位置。但是這個路徑下是空的。
# 第一種:通過數(shù)據(jù)卷名稱映射
docker run -v 數(shù)據(jù)卷名稱:容器內(nèi)部的路徑 鏡像id
[root@iz8vbdmrir2n6xqzrbd93hz ~]# docker volume create mytomcat_volume
[root@iz8vbdmrir2n6xqzrbd93hz ~]# docker run -d -p 8080:8080 --name mytomcat -v mytomcat_volume:/usr/local/tomcat/webapps b8
[root@iz8vbdmrir2n6xqzrbd93hz ~]# cd /var/lib/docker/volumes
[root@iz8vbdmrir2n6xqzrbd93hz volumes]# ls
3fdc377f615693578180d1e7433d30e42baa53058eb55ebf86b6c4d0ed27d87a metadata.db mytomcat_volume
[root@iz8vbdmrir2n6xqzrbd93hz volumes]# cd mytomcat_volume/
[root@iz8vbdmrir2n6xqzrbd93hz mytomcat_volume]# ls
_data
[root@iz8vbdmrir2n6xqzrbd93hz mytomcat_volume]# cd _data/
[root@iz8vbdmrir2n6xqzrbd93hz _data]# ls
docs examples host-manager manager ROOT
# 第二種:通過路徑映射數(shù)據(jù)卷
docker run -v 路徑:容器內(nèi)部的路徑 鏡像id
[root@iz8vbdmrir2n6xqzrbd93hz ~]# docker run -d -p 8080:8080 --name mytomcat -v /opt/yangl:/usr/local/tomcat/webapps b8
f70074ae145572c85c00afa5be9c2abb938906238be1c958b51d02806975f8de
[root@iz8vbdmrir2n6xqzrbd93hz ~]# cd opt
-bash: cd: opt: No such file or directory
[root@iz8vbdmrir2n6xqzrbd93hz ~]# cd /opt/yangl
[root@iz8vbdmrir2n6xqzrbd93hz yangl]# ls
[root@iz8vbdmrir2n6xqzrbd93hz yangl]# mkdir ROOT
[root@iz8vbdmrir2n6xqzrbd93hz yangl]# cd ROOT/
[root@iz8vbdmrir2n6xqzrbd93hz ROOT]# vim index.html
九惋啃、Dockerfile自定義鏡像【重點
】
我們可以從中央倉庫下載一個鏡像,也可以自己手動去制作一個鏡像边灭,需要通過Dockerfile去指定自定義鏡像的信息
9.1 Dockerfile
創(chuàng)建自定義鏡像就需要創(chuàng)建一個Dockerfile异希,如下為Dockerfile的語言
from: 指定當前自定義鏡像依賴的環(huán)境
copy: 將相對路徑下的內(nèi)容復制到自定義鏡像中
workdir: 聲明鏡像的默認工作目錄
run: 執(zhí)行的命令,可以編寫多個
cmd: 需要執(zhí)行的命令(在workdir下執(zhí)行的绒瘦,cmd可以寫多個称簿,只以最后一個為準)
# 制作SSM容器鏡像,video-web.war要放在Dockerfile的同級目錄下
# 右鍵創(chuàng)建文件惰帽,命名為:Dockerfile 該文件無后綴憨降,然后在文件添加如下內(nèi)容
from daocloud.io/library/tomcat:8.5.15-jre8
copy video-web.war /usr/local/tomcat/webapps
# 在root目錄下創(chuàng)建一個目錄,然后把Dockerfile文件和video-web.war都拷貝過來
[root@iz8vbdmrir2n6xqzrbd93hz ~]# mkdir myssm
[root@iz8vbdmrir2n6xqzrbd93hz ~]# cd myssm
[root@iz8vbdmrir2n6xqzrbd93hz myssm]# ls
Dockerfile video-web.war
9.2 通過Dockerfile制作鏡像
編寫完Dockerfile后需要通過命令將其制作為鏡像该酗,并且要在Dockerfile的當前目錄下授药,之后即可在鏡像中查看到指定的鏡像信息,注意最后的 .
docker build -t 鏡像名稱[:tag] .
[root@iz8vbdmrir2n6xqzrbd93hz myssm]# docker build -t tomcat-video:1.0 .
Sending build context to Docker daemon 18.4MB
Step 1/2 : from daocloud.io/library/tomcat:8.5.15-jre8
---> b8dfe9ade316
Step 2/2 : copy video-web.war /usr/local/tomcat/webapps
---> cb8ea4a83137
Successfully built cb8ea4a83137
Successfully tagged tomcat-video:1.0
[root@iz8vbdmrir2n6xqzrbd93hz myssm]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat-video 1.0 cb8ea4a83137 About a minute ago 352MB
hello-world latest bf756fb1ae65 7 months ago 13.3kB
daocloud.io/library/tomcat 8.5.15-jre8 b8dfe9ade316 3 years ago 334MB
daocloud.io/library/mysql 5.7.4 aa5364eb3d85 5 years ago 252MB
[root@iz8vbdmrir2n6xqzrbd93hz myssm]# docker run -d -p 8081:8080 --name tomcat-video-ssm cb8
c5faa261b5b01d77467ce7e3ac6a7310aac6f21aabfdc9f002b5790381f96c52
十. Docker-Compose【重點
】
之前運行一個鏡像呜魄,需要添加大量的參數(shù),可以通過Docker-Compose編寫這些參數(shù)悔叽。而且Docker-Compose可以幫助我們批量的管理容器。這些信息只需要通過一個docker-compose.yml文件去維護即可爵嗅。
10.1 下載并安裝Docker-Compose
10.1.1 下載Docker-Compose
去github官網(wǎng)搜索docker-compose娇澎,下載1.24.1版本的Docker-Compose
10.1.2 設置權(quán)限
需要將docker-compose-Linux-x86_64文件拷貝到/usr/local 目錄下,然后設置docker-compose-Linux-x86_64文件的權(quán)限
[root@iz8vbdmrir2n6xqzrbd93hz ~]# cd /usr/local
[root@iz8vbdmrir2n6xqzrbd93hz local]# ls
aegis bin docker-compose-Linux-x86_64 etc games include lib lib64 libexec sbin share src
[root@iz8vbdmrir2n6xqzrbd93hz local]# chmod 777 docker-compose-Linux-x86_64
10.1.3 配置環(huán)境變量
方便后期操作睹晒,配置一個環(huán)境變量趟庄,查看之前配置jdk的環(huán)境文件
[root@iz8vbdmrir2n6xqzrbd93hz local]# vim /etc/profile
# 添加內(nèi)容:export PATH=/usr/local:$PATH
[root@iz8vbdmrir2n6xqzrbd93hz local]# source /etc/profile
# source /etc/profile加載成功后,在任意目錄下執(zhí)行:docker-compose-Linux-x86_64 會出現(xiàn)以下信息
[root@iz8vbdmrir2n6xqzrbd93hz local]# docker-compose-Linux-x86_64
測試效果 |
---|
image.png
|
10.2 Docker-Compose管理MySQL和Tomcat容器
yml文件以key: value方式來指定配置信息
多個配置信息以換行+縮進的方式來區(qū)分
在docker-compose.yml文件中,不要使用制表符
version: '3.1'
services:
mysql: # 服務的名稱
restart: always # 代表只要docker啟動,那么這個容器就跟著一起啟動
image: daocloud.io/library/mysql:5.7.4 # 指定鏡像路徑
container_name: mysql # 指定容器名稱
ports:
- 3306:3306 # 指定端口號的映射
environment:
MYSQL_ROOT_PASSWORD: root # 指定MySQL的ROOT用戶登錄密碼
TZ: Asia/Shanghai # 指定時區(qū)
volumes:
- /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql # 映射數(shù)據(jù)卷
tomcat:
restart: always
image: daocloud.io/library/tomcat:8.5.15-jre8
container_name: tomcat
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps
- /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs
10.3 使用docker-compose命令管理容器
在使用docker-compose的命令時 年叮,默認會在當前目錄下找docker-compose.yml文件,由于docker-compose.yml文件的volumes指定的地址是 /opt/docker_mysql_tomcat虑鼎,所以我們首先需要在opt目錄下創(chuàng)建docker_mysql_tomcat目錄,然后進入該目錄創(chuàng)建docker-compose.yml文件键痛,并粘貼以上寫好的內(nèi)容
[root@iz8vbdmrir2n6xqzrbd93hz ~]# cd /opt
[root@iz8vbdmrir2n6xqzrbd93hz opt]# ls
containerd yangl
[root@iz8vbdmrir2n6xqzrbd93hz opt]# mkdir docker_mysql_tomcat
[root@iz8vbdmrir2n6xqzrbd93hz opt]# ls
containerd docker_mysql_tomcat yangl
[root@iz8vbdmrir2n6xqzrbd93hz opt]# cd docker_mysql_tomcat/
[root@iz8vbdmrir2n6xqzrbd93hz docker_mysql_tomcat]# vim docker-compose.yml
# 停止之前的所有的容器并刪除
[root@iz8vbdmrir2n6xqzrbd93hz docker_mysql_tomcat]# docker stop $(docker ps -qa)
0274ca45914b
f70074ae1455
2db5a3fe0a92
425b6e8e1806
[root@iz8vbdmrir2n6xqzrbd93hz docker_mysql_tomcat]# docker rm $(docker ps -qa)
0274ca45914b
f70074ae1455
2db5a3fe0a92
425b6e8e1806
[root@iz8vbdmrir2n6xqzrbd93hz docker_mysql_tomcat]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 使用docker-compose命令
# 1. 基于docker-compose.yml啟動管理的容器
[root@iz8vbdmrir2n6xqzrbd93hz docker_mysql_tomcat]# docker-compose-Linux-x86_64 up -d
Creating network "docker_mysql_tomcat_default" with the default driver
Creating mysql ... done
Creating tomcat ... done
# 2. 查看由docker-compose管理的容器
[root@iz8vbdmrir2n6xqzrbd93hz docker_mysql_tomcat]# docker-compose-Linux-x86_64 ps
Name Command State Ports
------------------------------------------------------------------------
mysql /entrypoint.sh mysqld --da ... Up 0.0.0.0:3306->3306/tcp
tomcat catalina.sh run Up 0.0.0.0:8080->8080/tcp
[root@iz8vbdmrir2n6xqzrbd93hz docker_mysql_tomcat]#
# 3. 查看日志
[root@iz8vbdmrir2n6xqzrbd93hz docker_mysql_tomcat]# docker-compose-Linux-x86_64 logs -f
# 4. 關(guān)閉并刪除容器
[root@iz8vbdmrir2n6xqzrbd93hz docker_mysql_tomcat]# docker-compose-Linux-x86_64 down
Stopping tomcat ... done
Stopping mysql ... done
Removing tomcat ... done
Removing mysql ... done
Removing network docker_mysql_tomcat_default
# 5. 開啟|關(guān)閉|重啟已經(jīng)存在的由docker-compose維護的容器
docker-compose-Linux-x86_64 start|stop|restart
10.4 docker-compose配合Dockerfile使用
使用docker-compose.yml文件以及Dockerfile文件在生成自定義鏡像的同時啟動當前鏡像炫彩,并且由docker-compose去管理容器
10.4.1 為了方便操作,在盤符下創(chuàng)建docker_ssm文件夾絮短,在該目錄下創(chuàng)建Dockerfile文件以及拷貝video-web.war
編寫Dockerfile文件
from daocloud.io/library/tomcat:8.5.15-jre8
copy video-web.war /usr/local/tomcat/webapps
10.4.2 在docker_ssm目錄下創(chuàng)建docker-compose文件夾江兢,在docker-compose目錄下創(chuàng)建docker-compose.yml
編寫docker-compose.yml文件
# yml文件
version: '3.1'
services:
video: # mysql數(shù)據(jù)庫的名稱
restart: always
build: # 構(gòu)建自定義鏡像
context: ../ # 指定dockerfile文件的所在路徑
dockerfile: Dockerfile # 指定Dockerfile文件名稱
image: video-ssm:1.0.1
container_name: video-ssm
ports:
- 8081:8080
environment:
TZ: Asia/Shanghai
10.4.3 把docker_ssm目錄拷貝到虛擬機上的opt目錄下,然后測試
步驟如下:
[root@iz8vbdmrir2n6xqzrbd93hz opt]# ls
containerd docker_mysql_tomcat docker_ssm yangl
[root@iz8vbdmrir2n6xqzrbd93hz opt]# cd docker_ssm/
[root@iz8vbdmrir2n6xqzrbd93hz docker_ssm]# ls
docker-compose Dockerfile video-web.war
[root@iz8vbdmrir2n6xqzrbd93hz docker_ssm]# cd docker-compose/
[root@iz8vbdmrir2n6xqzrbd93hz docker-compose]# ls
docker-compose.yml
# 可以直接啟動基于docker-compose.yml以及Dockerfile文件構(gòu)建的自定義鏡像
[root@iz8vbdmrir2n6xqzrbd93hz docker-compose]# docker-compose-Linux-x86_64 up -d
Building video
Step 1/2 : from daocloud.io/library/tomcat:8.5.15-jre8
---> b8dfe9ade316
Step 2/2 : copy video-web.war /usr/local/tomcat/webapps
---> 557e0830e974
Successfully built 557e0830e974
Successfully tagged video-ssm:1.0.1
WARNING: Image for service video was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating video-ssm ... done
# 出現(xiàn)以上內(nèi)容后丁频,可使用瀏覽器訪問進行測試(注意:提前在mysql創(chuàng)建對應名字的數(shù)據(jù)庫并導入數(shù)據(jù))
WARNING: Image for service video was built because it did not already exist. To rebuild this image you must use
docker-compose build
ordocker-compose up --build
.以上警告表示內(nèi)容如下:
# 如果自定義鏡像不存在杉允,會幫助我們構(gòu)建出自定義鏡像邑贴,如果自定義鏡像已經(jīng)存在,會直接運行這個自定義鏡像
# 重新構(gòu)建的話叔磷。
# 重新構(gòu)建自定義鏡像
docker-compose build
# 運行當前內(nèi)容拢驾,并重新構(gòu)建
docker-compose up -d --build
十一. Docker CI、CD
11.1 CI改基、CD引言
項目部署
- 將項目通過maven進行編譯打包
- 將文件上傳到指定的服務器中
- 將war包放到tomcat的目錄中
- 通過Dockerfile將Tomcat和war包轉(zhuǎn)成一個鏡像繁疤,由DockerCompose去運行容器
項目更新后,需要將上述流程再次的從頭到尾的執(zhí)行一次秕狰,如果每次更新一次都執(zhí)行一次上述操作稠腊,很費時,費力鸣哀。我們就可以通過CI架忌、CD幫助我們實現(xiàn)持續(xù)集成,持續(xù)交付和部署我衬。
11.2 CI介紹
CI(continuous intergration)持續(xù)集成
持續(xù)集成:編寫代碼時叹放,完成了一個功能后,立即提交代碼到Git倉庫中挠羔,將項目重新的構(gòu)建并且測試井仰。
- 快速發(fā)現(xiàn)錯誤。
- 防止代碼偏離主分支褥赊。
11.3 搭建Gitlab服務器
實現(xiàn)CI糕档,需要使用到Gitlab遠程倉庫莉恼,先通過Docker搭建Gitlab
11.3.1 準備工作
- 創(chuàng)建一個全新的虛擬機拌喉,并且至少指定4G的運行內(nèi)存,4G運行內(nèi)存是Gitlab推薦的內(nèi)存大小俐银。
- 并且安裝Docker以及Docker-Compose
11.3.2 修改ssh的22端口
將ssh的默認22端口尿背,修改為60022端口,因為Gitlab需要占用22端口
vi /etc/ssh/sshd_config
PORT 22 -> 60022
systemctl restart sshd
11.3.3 編寫docker-compose.yml
docker-compose.yml文件去安裝gitlab(下載和運行的時間比較長的)
version: '3.1'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh:11.1.4'
container_name: "gitlab"
restart: always
privileged: true
hostname: 'gitlab'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.199.110'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['smtp_enable'] = true
gitlab_rails['gitlab_shell_ssh_port'] = 22
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- /opt/docker_gitlab/config:/etc/gitlab
- /opt/docker_gitlab/data:/var/opt/gitlab
- /opt/docker_gitlab/logs:/var/log/gitlab
11.4 搭建GitlabRunner
查看資料中的gitlab-runner文件即可安裝
11.5 整合項目入門測試
11.5.1 創(chuàng)建項目
創(chuàng)建maven工程捶惜,添加web.xml文件田藐,編寫html頁面
11.5.2 編寫.gitlab-ci.yml
編寫.gitlab-ci.yml文件
stages:
- test
test:
stage: test
script:
- echo first test ci # 輸入的命令
11.5.3 將maven工程推送到gitlab中
執(zhí)行g(shù)it命令推送到Gitlab
git push origin master
11.5.4 查看效果
可以在gitlab中查看到gitlab-ci.yml編寫的內(nèi)容
效果圖 |
---|
image.png
|
11.6 完善項目配置
添加Dockerfile以及docker-compose.yml, 并修改.gitlab-ci.yml文件
11.6.1 創(chuàng)建Dockerfile
# Dockerfile
FROM daocloud.io/library/tomcat:8.5.15-jre8
COPY testci.war /usr/local/tomcat/webapps
11.6.2 創(chuàng)建docker-compose.yml
# docker-compose.yml
version: "3.1"
services:
testci:
build: docker
restart: always
container_name: testci
ports:
- 8080:8080
11.6.3 修改.gitlab-ci.yml
# ci.yml
stages:
- test
test:
stage: test
script:
- echo first test ci
- /usr/local/maven/apache-maven-3.6.3/bin/mvn package
- cp target/testci-1.0-SNAPSHOT.war docker/testci.war
- docker-compose down
- docker-compose up -d --build
- docker rmi $(docker images -qf dangling=true)
11.6.4 測試
測試效果 |
---|
image.png
|
11.7 CD介紹
CD(持續(xù)交付吱七,持續(xù)部署)
持續(xù)交付:將代碼交付給專業(yè)的測試團隊去測試
持續(xù)部署:可以直接將指定好tag的代碼直接部署到生產(chǎn)環(huán)境中
CICD圖 |
---|
image.png
|
11.8 安裝Jenkins
11.8.1 編寫docker-compose.yml
官網(wǎng):https://www.jenkins.io/
version: "3.1"
services:
jenkins:
image: jenkins/jenkins
restart: always
container_name: jenkins
ports:
- 8888:8080
- 50000:50000
volumes:
- ./data:/var/jenkins_home
11.8.2 運行并訪問Jenkins
第一次運行時汽久,會因為data目錄沒有權(quán)限,導致啟動失敗
chmod 777 data
訪問http://192.168.199.109:8888
訪問速度奇慢無比踊餐。景醇。。吝岭。三痰。
訪問成功后吧寺,需要輸入密碼,可在日志中查看
手動指定插件安裝:指定下面兩個插件即可
publish ssh.
git param.
安裝成功后散劫,需要指定上用戶名和密碼稚机,登陸成功
11.9 配置Jenkins的目標服務器
執(zhí)行過程為代碼提交到Gitlab,Jenkins會從Gitlab中拉取代碼获搏,并在Jenkins中打包并發(fā)布到目標服務器中赖条。
11.9.1 點擊左側(cè)的系統(tǒng)設置
左側(cè)導航 |
---|
image.png
|
11.9.2 選中中間區(qū)域的系統(tǒng)設置
系統(tǒng)設置 |
---|
image.png
|
11.9.3 搜索Publish over SSH
Publish over SSH |
---|
image.png
|
11.9.4 點擊上圖新增
新增SSH連接 |
---|
image.png
|
11.10 配置GitLab免密碼登錄
鏈接Gitlab需要使用密碼,我們可以通過SSH的方式颜凯,免密碼登陸Gitlab拉取代碼谋币,避免每次都輸入密碼。
11.10.1登錄Jenkins容器內(nèi)部
docker exec -it jenkins bash
11.10.2 輸入生成SSH秘鑰命令
ssh-keygen -t rsa -C "郵箱(隨便寫)"
11.10.3將秘鑰復制到GitLab的SSH中
配置密鑰 |
---|
image.png
|
11.11 配置JDK和Maven
我們需要再Jenkins中將代碼打包症概,需要依賴JDK和Maven的環(huán)境
11.11.1 復制軟件到data目錄下
效果 |
---|
image.png
|
11.11.2 在監(jiān)控界面中配置JDK和Maven
配置環(huán)境變量 |
---|
image.png
|
11.11.3 手動拉取gitlab項目
使用SSH無密碼連接時蕾额,第一次連接需要手動確定
手動拉取一次 |
---|
image.png
|
11.12 創(chuàng)建maven任務
實現(xiàn)通過Jenkins的Maven任務,自動去Gitlab拉取代碼彼城,并在本地打包诅蝶,發(fā)布到目標服務器上
11.12.1 創(chuàng)建maven工程,推送到GitLab中
隨便創(chuàng)建一個即可……
11.12.2 Jenkins的監(jiān)控頁面中創(chuàng)建maven任務
指定GitLab地址 |
---|
image.png
|
指定maven打包方式 |
---|
image.png
|
11.12.3 執(zhí)行maven任務
立即構(gòu)建募壕,并查看日志 |
---|
image.png
|
控制臺查看日志信息 |
---|
image.png
|
11.12.4 最終效果
打包成功 |
---|
image.png
|
11.13 實現(xiàn)持續(xù)交付持續(xù)部署
實現(xiàn)根據(jù)tag標簽调炬,實現(xiàn)持續(xù)交付和持續(xù)部署
11.13.1 安裝Persistent Parameter的插件
安裝插件 |
---|
image.png
|
11.13.2 重新指定構(gòu)建項目的方式
根據(jù)標簽構(gòu)建項目 |
---|
image.png
|
自定義構(gòu)建 |
---|
image.png
|
11.13.3 構(gòu)建項目成功后,需要將內(nèi)容發(fā)布到目標服務器
發(fā)布服務器后執(zhí)行的命令 |
---|
image.png
|
11.13.4 添加程序代碼
# Dockerfile 文件
FROM daocloud.io/library/tomcat:8.5.15-jre8
COPY testcd-1.0-SNAPSHOT.war /usr/local/tomcat/webapps
# docker-compose.yml文件
version: "3.1"
services:
testcd:
build: docker
restart: always
container_name: testcd
ports:
- 8081:8080
11.13.5 測試
根據(jù)標簽修改發(fā)布版本 |
---|
image.png
|