Jenkins实现docker自定义jar包镜像自动化部署

Jenkins实现docker自定义jar包镜像自动化部署


公司使用微服务架构,服务众多为了方便管理就用了docker虚拟化技术,并且要求实现自动化部署;具体实现思路是先把jar包制作成一个自定义镜像来启动部署,在Jenkins里关联gitee,然后编写相应的shell脚本,这样项目成员在本地一代码提交到gitee上,Jenkins就自动获取更新通知将代码打包成jar包,上传到指定服务器的指定目录,再通过脚本启动镜像时映射传过来的jar包即可实现代码上传就能自动化更新部署项目

编写自定义jar包镜像

1.编写dockerfile文件

# 基础镜像
FROM  kdvolder/jdk8
# author
MAINTAINER wangzihao
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
#将当前mhd_product.jar 复制到容器根目录下
ADD mhd_product.jar mhd_product.jar
#暴露容器端口为8005 Docker镜像告知Docker宿主机应用监听了8005端口
EXPOSE 8005
# 运行jar包
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/mhd_product.jar"]

2.将dockerfile文件和要制作成镜像的jar包都上传到服务器在这里插入图片描述
3.在dockerfile文件当前目录运行打包命令:docker build -t mhd_product .
在这里插入图片描述
这里看到jarbao已经打包成镜像
4.然后运行镜像就可以启动容器了
先强制删除容器
docker rm -f mhd_product
再运行容器
docker run -itd --name mhd_product -p 8005:8005 -v /mnt/mhd/mhd_product/mhd_product.jar:/mhd_product.jar mhd_product:latest
这样就启动成功了,可以通过docker logs -f mhd_product命令来查看日志

配置Jenkins

1.配置Jenkins的maven和jdk
Jenkins安装就不细说了,一般都是用docker启动Jenkins容器,但是我是在另一台服务器启动的Jenkins,没用docker部署。
先配置maven,我将我本地的maven上传到了服务器上,jdk也tar解压了在这里插入图片描述在这里插入图片描述
接下来配置maven和jdk就行了在这里插入图片描述
在这里插入图片描述
再配置一下全局变量在这里插入图片描述
在这里插入图片描述
点击保存就配置好了
2.创建任务
在这里插入图片描述
这里将对应的gitee仓库地址和账号密码填上在这里插入图片描述
可以在gitee里配置webhook,这个一般是gitee企业仓库里管理员配置,配置成功之后就能实现代码实时提交Jenkins实时监控执行任务在这里插入图片描述
这样就能实现gitee提交自动打成jar包,打成的包在在这里插入图片描述

在这里插入图片描述
这段配置是将Jenkins上边打的jar包传到指定ssh服务器,然后再执行shell脚本启动docker容器
在这里插入图片描述
这是上边的ssh配置,保存就行了
点击执行,就会自动把gitee仓库的代码打包成jarbao传到指定服务器的/mnt/mhd/mhd_product文件下,然后执行shell脚本命令删除启动容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值