jenkins和docker实现自动化构建部署

点击上方“互扯程序”,选择“置顶公众号”

优秀文章,第一时间送达!

KS

Knowledge Sharing

知识分享

    现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。


此篇文章介绍使用jenkins和docker实现自动化部署 当然 docker并不只是这点功能 博主整理了一些不错的docker教学视频 在公众号内回复“docker”即可获取


640?wx_fmt=png


640?wx_fmt=png


应用场景


程序员开发应用,开发后需要提交svn,然后从svn拉取代码,进行构建,发布到tomcat中,发布,然后看呈现效果,这样的工作是频繁反复的在进行的,浪费了程序员的大量时间,那么能不能把这些工作自动化呢,只需要程序员更新代码到svn,然后自动的构建,发布,呈现效果,当然是可以的,通过jenkins和docker来实现。

操作步骤


1.概述


开发者的工作大概流程是,eclipse编写代码,提交代码到svn,然后进行编译,打包,测试,部署,发布。

这其中很多重复的工作,影响开发人员的情绪,应当让开发者只重视代码阶段,后面的内容不用去理会,只要编写代码,提交代码,然后就能打开页面看到效果,那是最好的。

这就需要自动化构建,jenkins就是很好的自动化构建工具。

2. 自动化流程


640?wx_fmt=png

具体流程如下:


  • 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简单点说就是一个war包。一个自动化服务,提供各种插件集成。 
jenkins下载地址


Jenkins部署有两种方法(可以装到windows或者linux,实验中以windows的方式一为例):

Jenkins是用Java语言开发的系统,首先要确定服务器上已经安装JDK或者JRE。

方式一


直接运行java –jar jenkins.war(注意jenkins.war得是绝对路径,例如下图所示),在浏览器中输入 
http://localhost:8080即可。

640?wx_fmt=png

640?wx_fmt=png


到此,jenkins安装部署完毕,关于如何使用jenkins,下文详细介绍。


方式二


把jenkins的war包拷贝到tomcat的webapps目录下,启动tomcat,访问地址:http://ip:8080/jenkins

640?wx_fmt=png

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主界面,安装必须要的插件。

640?wx_fmt=png

进入插件页面,选择可选插件,搜索ssh,安装SSH plugin和Publish Over SSH插件,由于实验已经安装过,所以图中没有显示了。

640?wx_fmt=png

  • 然后回到主界面,进行系统设置。


640?wx_fmt=png

配置maven configuretion,加上本地maven安装地址,指向settings文件。

640?wx_fmt=png

jdk配置,指向本地jdk安装目录。

640?wx_fmt=png

Maven配置,指向本地maven安装路径。

640?wx_fmt=png

配置jenkins location,配置管理员邮箱。

640?wx_fmt=png

配置邮件通知,需要邮箱开启pop3,smtp,可以测试验证。后面配置邮件通知时需要用到。

640?wx_fmt=png

配置Publish over SSH。这里配置后才能在配置目标容器环境时,选择到构建完成后发布到的目标容器。

640?wx_fmt=png

最后应用,保存。

5.配置自动化


5.1 编写代码


这里需要基于maven构建的工程。

640?wx_fmt=png

5.2 提交代码至svn


右击项目,选择team,提交,到svn服务器的某个地址,实验中提交到如下目录:

640?wx_fmt=png

需要在svn下新建mavenproject文件夹,具体操作参考3.3。

640?wx_fmt=png

5.3 新建jenkins项目连接svn


点击界面左侧新建,项目名称可以随意命名,选择maven项目:

640?wx_fmt=png

选择源码地址,这功能可以让jenkins可以从svn上拉取代码。

640?wx_fmt=png

Repository URL获取方式:

640?wx_fmt=png

5.4 配置构建任务


该功能,jenkins可以检测svn代码,如果发生变化,那么立即自动执行构建:

640?wx_fmt=png

5.5 配置构建参数


该功能,jenkins可以自动给maven项目打包

640?wx_fmt=png

5.6 邮件通知


该功能,jenkins构建过程中,可以向指定邮箱发送邮件,提示构建状况。

640?wx_fmt=png

5.7 配置目标容器环境


选择send build artifacts over SSH,该功能可以实现将本地打包的war包,ssh到指定服务器的目录中,并且能在服务器上执行脚本。

640?wx_fmt=png

脚本如下:

 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


640?wx_fmt=png

执行完毕后,打开虚拟机上的/Dockerfile_tomcat目录,修改该目录下的Dockerfile文件,加入如下一行:

 
 
COPY  microframe-0.0.1.war  /opt/apache-tomcat/webapps/microframe-0.0.1.war


5.9 测试


当我们修改eclipse上的代码,然后提交到svn:

640?wx_fmt=png


等几分钟就能看到结果。

可以看到jenkins自动开始构建了:

640?wx_fmt=png

640?wx_fmt=png


访问页面:

640?wx_fmt=png

最后可以看出,生成了指定的容器。

640?wx_fmt=png

你学会了么 在公众号内回复“docker”即可获取docker教学视频 很不错熬


转自:csdn


推荐阅读


技术:大牛:你真的懂反射吗?

技术:设计图都不会画,还想做”架构师“?

技术:玩转linux 这些命令就够了 

技术:Google在推动AI普及又往前迈了一步-Learn with Google AI

技术:玩转linux 这些命令就够了

技术:30分钟如何学会使用Shiro 


工具:如何通过技术手段 “干掉” 视频APP里讨厌广告?

工具:通过技术手段 “干掉” 视频APP里讨厌的广告之(腾讯视频)


干货分享:


分享:1T 软件开发视频资源分享

分享:深度机器学习56G视频资源分享


博主11年java开发经验,现从事智能语音工作的研发,关注微信公众号与博主进行技术交流!更过干货资源等你来拿!

640?wx_fmt=jpeg

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值