git maven 一键部署_devops一键部署|详解如何搭建git+maven+jenkins+docker

本文详细介绍了如何通过git、maven、jenkins和docker实现微服务的一键部署。首先,阐述了流程及原理,包括提交代码到版本管理工具,自动更新、打包和发布。然后,逐步讲解实现过程,涉及环境准备、Jenkins配置、maven设置、Dockerfile的使用、shell脚本的创建以及Jenkins构建配置。最后,提到了docker服务监听端口的配置。
摘要由CSDN通过智能技术生成

流程及原理

流程梳理:

d27b78a1a34b6964b0807616a1afdb0c.png

微服务一键部署实现后只需要将测试好的代码提交至版本管理工具(如:git、SVN),程序会自动实现更新代码并打包发布等后面的流程,省心省力。

实现过程

前置环境:

默认已经装好Jenkins、maven、docker和git,我的Jenkins也在docker容器中运行的,由于在Jenkins容器中默认无法使用docker命令,所以在Jenkins启动时需要加入以下参数:

cfac7bc52b281fe7011305bf5058cb2b.png

如果还是无法使用,为了省时,推荐使用下面集成好的Jenkins镜像,Dockerfile:

1d4a8b1afd8daa888f54152a8f5d195b.png

同时启动时还是得加上面提到的参数,启动命令如下:

$ docker run --name jenkins -p 7080:8080 -p 50000:50000 -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /var/docker_data/jenkins/jenkins_home:/var/jenkins_home -v /var/docker_data/jenkins/settings:/var/settings -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -d my-jenkins

正式开始:

1、 在程序的Pom.xml文件中加入docker-maven-plugin插件,如下:

3623b90d52670ae5f9e2fabdd501fda5.png

需要说明的是dockerHost指定的是使用哪个主机的docker,如果不填写,则默认为本机,由于我的Jenkins在docker容器中与宿主机互不相通,所以我指定了宿主机的ip和端口。

dockerDirectory指定了你的Dockerfile所在的位置。

2、 在项目的根目录下新建一个shell脚本,我的是build.sh,脚本内容就是重新启动docker。

92c3923b01c82785fde044597a2eb70b.png

3、 Jenkins中配置maven:点击“系统管理”-->“GlobalTool Configuration”-->“maven安装”,选择install from Apavhe版本为3.5.0,勾选自动安装。

4、 然后新建一个自由风格的项目,完成后点击“配置”,源码管理选择git并填写项目的git地址。构建触发器选择Poll SCM,填写“*/1 * * * *”,意思是一分钟去查询一次git源码如果有更新则会自动构建。其他随意。

5、 构建环节:选择Invoke top-level Maventargets,选择第三步中配置的maven3.5.0,Goals填写package -e -X docker:build -DskipTest -DdockerImageTags=latest,意思是使用maven的插件构建镜像,具体参数可以百度。

6、 构建环节:接着第五步,再增加一个构建步骤放下面,选择Executeshell,Command填写:

7c0f907df64799df4183cadc499f1f45.png

就是执行项目根目录的那个脚本文件。如下图:

9397a1665c2e14475cc388f264e73de8.png

7、 最后一点,也是很重要的一点,就是必须给docker配置一个服务监听端口,找到docker.service文件,在“ExecStart参数”后面加上“ -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock”,命令如下:

5b5ae52cfc1eaff90b70deff9ee79159.png

后面小编会分享更多这方面的干货,感兴趣的朋友走一波关注哩~

a3f80378f9f12a07e06e553afa6e911e.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值