当前位置:   article > 正文

Jenkins实现docker自定义jar包镜像自动化部署_jekins打包docker使用jdk11如何配置dockerfileer

jekins打包docker使用jdk11如何配置dockerfileer

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"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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脚本命令删除启动容器

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/550999
推荐阅读
相关标签
  

闽ICP备14008679号