网站首页 > 博客文章 正文
流程及原理
流程梳理:
微服务一键部署实现后只需要将测试好的代码提交至版本管理工具(如:git、SVN),程序会自动实现更新代码并打包发布等后面的流程,省心省力。
实现过程
前置环境:
默认已经装好Jenkins、maven、docker和git,我的Jenkins也在docker容器中运行的,由于在Jenkins容器中默认无法使用docker命令,所以在Jenkins启动时需要加入以下参数:
如果还是无法使用,为了省时,推荐使用下面集成好的Jenkins镜像,Dockerfile:
同时启动时还是得加上面提到的参数,启动命令如下:
$ 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插件,如下:
需要说明的是dockerHost指定的是使用哪个主机的docker,如果不填写,则默认为本机,由于我的Jenkins在docker容器中与宿主机互不相通,所以我指定了宿主机的ip和端口。
dockerDirectory指定了你的Dockerfile所在的位置。
2、 在项目的根目录下新建一个shell脚本,我的是build.sh,脚本内容就是重新启动docker。
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填写:
就是执行项目根目录的那个脚本文件。如下图:
7、 最后一点,也是很重要的一点,就是必须给docker配置一个服务监听端口,找到docker.service文件,在“ExecStart参数”后面加上“ -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock”,命令如下:
后面小编会分享更多这方面的干货,感兴趣的朋友走一波关注哩~
猜你喜欢
- 2024-10-07 0024-CENTOS6.5安装CDH5.12.1(一)
- 2024-10-07 Jenkins创建Pipeline(jenkins创建maven项目)
- 2024-10-07 CDH6.3.2之安装与使用(一)(cdh安装hadoop教程)
- 2024-10-07 1.7W字 Jenkins 保姆级教程(jenkins使用)
- 2024-10-07 Docker运行Jenkins镜像远程拉去Github.com代码进行构建
- 2024-10-07 使用jenkins自动构建spring boot(jenkins自动化部署springboot项目)
- 2024-10-07 Jenkins安装配置,项目发布、管理详解,史上最清晰,值得收藏!
- 2024-10-07 第四篇 Jekins集成SVN代码质量扫描
- 2024-10-07 jenkins 从git拉取代码并进行maven构建
- 2024-10-07 Jenkins自动编译的几种方式的总结
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)