jenkins和docker实现自动化构建部署
Posted 互扯程序
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins和docker实现自动化构建部署相关的知识,希望对你有一定的参考价值。
优秀文章,第一时间送达!
Knowledge Sharing
知识分享
现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。
应用场景
程序员开发应用,开发后需要提交svn,然后从svn拉取代码,进行构建,发布到tomcat中,发布,然后看呈现效果,这样的工作是频繁反复的在进行的,浪费了程序员的大量时间,那么能不能把这些工作自动化呢,只需要程序员更新代码到svn,然后自动的构建,发布,呈现效果,当然是可以的,通过jenkins和docker来实现。
操作步骤
1.概述
开发者的工作大概流程是,eclipse编写代码,提交代码到svn,然后进行编译,打包,测试,部署,发布。
这其中很多重复的工作,影响开发人员的情绪,应当让开发者只重视代码阶段,后面的内容不用去理会,只要编写代码,提交代码,然后就能打开页面看到效果,那是最好的。
这就需要自动化构建,jenkins就是很好的自动化构建工具。
2. 自动化流程
具体流程如下:
1.编写代码,修改代码
2.提交代码到svn
3.Jenkins自动检测到svn代码更新,从svn拉取最新代码
4.Jenkins自动编译
5.Jenkins自动打成tomcat下能运行的war包
6.Jenkins自动上传war包到docker宿主机目录
7.Jenkins自动构建web容器镜像,包含项目demo
8.Jenkins自动启动镜像,变成容器,映射端口
9.最后就有项目运行的界面提供了
3. 环境准备
3.1 jenkins
Jenkins部署有两种方法(可以装到windows或者linux,实验中以windows的方式一为例):
Jenkins是用Java语言开发的系统,首先要确定服务器上已经安装JDK或者JRE。
方式一
直接运行java –jar jenkins.war(注意jenkins.war得是绝对路径,例如下图所示),在浏览器中输入
http://localhost:8080即可。
到此,jenkins安装部署完毕,关于如何使用jenkins,下文详细介绍。
方式二
3.2 maven
参照windows安装maven博文
3.3 svn
参照svn如何使用的相关博文
以及windows端安装svn服务器端的博文
3.4 jdk
参考windows安装jdk博文
3.5 docker
参考docker安装使用博文
4. 基础配置
4.1 jenkins配置
首先需要进入jenkins主界面,安装必须要的插件。
进入插件页面,选择可选插件,搜索ssh,安装SSH plugin和Publish Over SSH插件,由于实验已经安装过,所以图中没有显示了。
然后回到主界面,进行系统设置。
jdk配置,指向本地jdk安装目录。
Maven配置,指向本地maven安装路径。
配置jenkins location,配置管理员邮箱。
配置邮件通知,需要邮箱开启pop3,smtp,可以测试验证。后面配置邮件通知时需要用到。
配置Publish over SSH。这里配置后才能在配置目标容器环境时,选择到构建完成后发布到的目标容器。
最后应用,保存。
5.配置自动化
5.1 编写代码
这里需要基于maven构建的工程。
5.2 提交代码至svn
需要在svn下新建mavenproject文件夹,具体操作参考3.3。
5.3 新建jenkins项目连接svn
点击界面左侧新建,项目名称可以随意命名,选择maven项目:
Repository URL获取方式:
5.4 配置构建任务
该功能,jenkins可以检测svn代码,如果发生变化,那么立即自动执行构建:
5.5 配置构建参数
该功能,jenkins可以自动给maven项目打包
5.6 邮件通知
该功能,jenkins构建过程中,可以向指定邮箱发送邮件,提示构建状况。
5.7 配置目标容器环境
选择send build artifacts over SSH,该功能可以实现将本地打包的war包,ssh到指定服务器的目录中,并且能在服务器上执行脚本。
脚本如下:
docker rm -f microframe #删除已建的容器,防止容器名,端口冲突
sleep 1
cd /Dockerfile_tomcat
docker build -t xubin/website:v1 . #根据dockerfile生成web镜像
sleep 1
docker run -d -p 8080:8080 --name microframe xubin/website:v1 #运行镜像生成容器
这样jenkins上就操作完毕了。
5.8 生成docker实例
在docker宿主机输入如下命令:
# git clone https://git.oschina.net/bingoxubin/Dockerfile_tomcat.git
执行完毕后,打开虚拟机上的/Dockerfile_tomcat目录,修改该目录下的Dockerfile文件,加入如下一行:
COPY microframe-0.0.1.war /opt/apache-tomcat/webapps/microframe-0.0.1.war
5.9 测试
当我们修改eclipse上的代码,然后提交到svn:
等几分钟就能看到结果。
可以看到jenkins自动开始构建了:
访问页面:
最后可以看出,生成了指定的容器。
推荐阅读
技术:
技术:
技术:
技术:
技术:
工具:
工具:
干货分享:
分享:
分享:
以上是关于jenkins和docker实现自动化构建部署的主要内容,如果未能解决你的问题,请参考以下文章
使用阿里云容器服务Jenkins实现持续集成和Docker镜像构建
SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战