基于Jenkins自動(dòng)打包并部署docker環(huán)境的操作過(guò)程
實(shí)驗(yàn)環(huán)境
操作系統(tǒng) | IP地址 | 主機(jī)名 | 角色 |
CentOS7.5 | 192.168.200.111 | git | git服務(wù)器 |
CentOS7.5 | 192.168.200.112 | Jenkins git客戶端 | jenkins服務(wù)器 |
CentOS7.5 | 192.168.200.113 | docker | web服務(wù)器 |
1、安裝docker-ce
在192.168.200.113上創(chuàng)建遠(yuǎn)程目錄。
[root@tomcat ~]# mkdir /data
在192.168.200.113 機(jī)器上,構(gòu)建 tomcat基礎(chǔ)鏡像。在構(gòu)建基礎(chǔ)鏡像之前需要先安裝 Docker 與 JDK。
[root@tomcat ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@tomcat ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
[root@tomcat ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@tomcat ~]# ls /etc/yum.repos.d/

[root@tomcat ~]# yum -y install docker-ce

[root@tomcat ~]# systemctl start docker[root@tomcat ~]# systemctl enable docker

[root@tomcat ~]# docker version

2、阿里云鏡像加速器
[root@tomcat ~]# cat << END > /etc/docker/daemon.json { "registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ] }END

[root@tomcat ~]# systemctl daemon-reload[root@tomcat ~]# systemctl restart docker
導(dǎo)入centos 7


[root@tomcat ~]# cat centos-7-x86_64.tar.gz | docker import - centos:7
[root@tomcat ~]# docker images

3、構(gòu)建tomcat 基礎(chǔ)鏡像
[root@tomcat ~]# mkdir docker-tomcat[root@tomcat ~]# cd docker-tomcat/
在這期間導(dǎo)入:apache-tomcat-8.5.40.tar.gz 和 jdk-8u191-linux-x64.tar.gz

[root@tomcat docker-tomcat]# vim dockerfile
FROM centos:7
MAINTAINER from crushlinux <crushlinux@163.com>
#copy jdk and tomcat into image
ADD ./apache-tomcat-8.5.40.tar.gz /usr/local/
ADD ./jdk-8u191-linux-x64.tar.gz /usr/local
#set variable
ENV JAVA_HOME /usr/local/jdk1.8.0_191
ENV PATH $JAVA_HOME/bin:$PATH
#container starts up
ENTRYPOINT /usr/local/apache-tomcat-8.5.40/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.40/logs/catalina.out

[root@tomcat docker-tomcat]# docker build -t tomcat:v1 .


4、構(gòu)建一個(gè)Maven項(xiàng)目
在以上配置完成后,回到 Jenkins 首頁(yè),選擇“新建任務(wù)”,然后輸入一個(gè)任務(wù)名稱 “probe-docker”,并選擇“Maven project”配置項(xiàng),點(diǎn)擊當(dāng)前頁(yè)面下方的“確定”按鈕。


在點(diǎn)擊“確定”按鈕,選擇“源碼管理”并選中“Git”,設(shè)置“Repository URL”地址。

選擇“Build”-> clean package -Dmaven.test.skip=true

在上一步后面選擇“構(gòu)建后操作”中的“Send build artfacts over SSH”選項(xiàng)并進(jìn)行。
scp 192.168.200.112:/root/.jenkins/workspace/probe-docker/psi-probe-web/target/probe.war /data/
docker run -itd --name tomcat-test -p 8090:8080 -v /data:/usr/local/apache-tomcat-8.5.40/webapps tomcat:v1


以上全部配置完成后,點(diǎn)擊保存即可。然后點(diǎn)擊剛才創(chuàng)建的工程任務(wù)“probe-docker“->” Build new”直至任務(wù)構(gòu)建完成。開始構(gòu)建過(guò)程中可以點(diǎn)擊進(jìn)度條查看



可以看到此工程任務(wù)已構(gòu)建成功,并且在構(gòu)建后,創(chuàng)建用于docker項(xiàng)目的 Docker Web 環(huán)境命令也執(zhí)行成功。
[root@tomcat ~]# ls /data
[root@tomcat ~]# docker ps -a

[root@tomcat ~]#docker exec -it 5e /bin/bash
[root@5eaecb826ff6 /]# vim /usr/local/apache-tomcat-8.5.40/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
</tomcat-users> # 在此行前加入上面三行

[root@5eaecb826ff6 /]# cd /usr/local/apache-tomcat-8.5.40/conf
[root@5eaecb826ff6 conf ]# /usr/local/apache-tomcat-8.5.40/conf/

[root@5eaecb826ff6 conf ]# /usr/local/apache-tomcat-8.5.40/bin/startup.sh

訪問(wèn):192.168.200.113:8090/prode
用戶:tomcat
密碼:tomcat


到此這篇關(guān)于基于Jenkins自動(dòng)打包并部署docker環(huán)境的文章就介紹到這了,更多相關(guān)Jenkins自動(dòng)打包并部署docker環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Docker搭建Jenkins并自動(dòng)化打包部署項(xiàng)目的步驟
- 基于Docker與Jenkins實(shí)現(xiàn)自動(dòng)化部署的原理解析
- jenkins+docker+nginx+nodejs持續(xù)集成部署vue前端項(xiàng)目
- Jenkins+Docker?一鍵自動(dòng)化部署?SpringBoot?項(xiàng)目的詳細(xì)步驟
- docker+jenkins+gitee配置持續(xù)集成部署方式
- Jenkins整合Docker自動(dòng)化部署的實(shí)現(xiàn)
- Docker安裝Jenkins并部署Maven項(xiàng)目詳細(xì)教程
- Jenkins+Docker實(shí)現(xiàn)自動(dòng)化部署
- docker-compose集成Jenkins部署,打包,發(fā)布方式
- Docker部署Jenkins持續(xù)集成(CI)工具的實(shí)現(xiàn)
相關(guān)文章
BUUCTF-easy java WEB-INF/web.xml泄露漏洞及其利用方式
這篇文章主要介紹了BUUCTF-easy java WEB-INF/web.xml泄露漏洞及其利用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Java同步代碼塊解決銀行取錢的安全問(wèn)題實(shí)例分析
這篇文章主要介紹了Java同步代碼塊解決銀行取錢的安全問(wèn)題,結(jié)合實(shí)例形式分析了java基于線程的同步問(wèn)題實(shí)現(xiàn)與使用相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
Springboot詳解實(shí)現(xiàn)食品倉(cāng)庫(kù)管理系統(tǒng)流程
這是一個(gè)使用Springboot開發(fā)的食品倉(cāng)庫(kù)管理系統(tǒng),是為商家提供商品貨物進(jìn)銷存的信息化管理系統(tǒng),具有一個(gè)倉(cāng)庫(kù)管理系統(tǒng)該有的所有功能,感興趣的朋友快來(lái)看看吧2022-06-06
java實(shí)現(xiàn)圖片寫入高清字體及帶邊框的方法
這篇文章主要介紹了java實(shí)現(xiàn)圖片寫入高清字體及帶邊框的方法,涉及java針對(duì)圖片及文字的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
Java多線程死鎖問(wèn)題詳解(wait和notify)
線程之間形成相互等待資源的環(huán)時(shí),就會(huì)形成順序死鎖,下面這篇文章主要給大家介紹了關(guān)于Java多線程死鎖問(wèn)題(wait和notify)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
SpringBoot集成SwaggerUi以及啟動(dòng)時(shí)遇到的錯(cuò)誤
這篇文章主要介紹了SpringBoot集成SwaggerUi以及啟動(dòng)時(shí)遇到的錯(cuò)誤,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06

