Jenkins+Tomcat+svn+maven自动化构建简单过程
搭建好jenkins自动化构建之后,点击立即构建,即可将svn服务器上的源码自动编译构建,并打成war包,然后将这个war包以及编译好的项目复制到指定服务器的tomcat容器里,当svn服务器的代码有改动的时候,不用再重新编译、打包、部署和重启服务器,jenkins将自动将更改后的代码进行发布、部署、运行。
自动化构建之前,服务器上要装好JDK、maven和tomcat,方法自行百度,安装好jdk,配置环境变量就ok了(maven和tomcat不用配置环境变量,我用的版本是jdk1.8,maven3.3.3,tomcat7)。
步骤如下:
- Jenkins,可以去官网下载,不同的版本上可能会有一些差异,我这里使用的是2.20版本的。直接下载war包就可以了,放到tomcat的webapps目录下,运行tomcat就行。

- 启动tomcat之后,在浏览器输入地址进行访问:http:192.168.xxx.128:8080/jenkins,初次访问的页面如图:
去到这个目录下查看这个文件,就知道登录密码了:
- 输入密码之后会提示选择安装的插件,第二次登录的时候就没有这个页面了:
推荐选择前者,然后等待安装完成。
- 安装完成后会提示创建一个新的用户,输入相应的信息,点击Save and Finish

- 安装成功了,开始jenkins之旅吧!

- 贴一个jenkins的主页面,之后需要进行一些配置。

- 点击“系统管理”,右边黄色字体的内容可能会提示字符编码不对,没关系,改一下tomcat的编码集就OK了。
打开tomcat根目录,进入conf文件夹,使用vim server.xml对其配置文件进行修改,找到Connector标签,在其中添加URIEncoding="UTF-8",然后保存退出,重启tomcat再次登录jenkins后就不会有那个黄色的提示了。
- 进行JDK的配置,点击“系统管理”->“Global Tool Configuration”,点击新增jdk,别名可以随便取,取消自动安装,可以使用服务器本机的jdk,在JAVA_HOME那里写上绝对路径就可以了,如果路径不对或者找不到jdk,jenkins会自动提示。

- 同理,将maven也配置好。

- 在进行新建项目之前还有一些步骤需要操作,不然仍无法新建maven项目。点击“系统管理”->“插件管理”,点击“可选插件”,在过滤处输入maven,将“Maven Integration plugin”选中,点击直接安装。

- 安装成功后点击返回首页。

- 点击创建一个新任务

- 选择“构建一个maven项目”,输入项目名称,点击OK

- 项目的配置里边只更改了少部分,其他的都默认就可以了,首先是“源码管理”,我这里用的是svn上的源码,使用的svn是阿里的阿里云code,填上svn地址就可以了,如果需要身份验证的也可以在上面填写,如果地址不对jenkins也会提示错误。

- 然后是“构建触发器”,我选择的是默认的。

- 然后是“Built”,构建的时候执行了一个全局的命令,当然也可以什么都不写,构建的时候我执行了一下maven的clean和install

- 还有一些其他的功能,例如构建的时候执行一个全局的linux命令,构建完成后发送email通知等等,本着简单的原则,这里都没有做设置。上面说的东西改完之后,点击“保存”,然后回到主页面,就会看到刚才新建的项目,点击项目名右侧的下拉箭头,点击“立即构建”。

- 点击左侧菜单栏下方的进度条,可以查看构建过程的控制台输出。

- 第一次构建的时候需要下载maven依赖的jar包和一些必要插件,所以可能会需要一点时间,去喝杯咖啡吧~
回来一看还没有好,唉~再去吃根香蕉吧~
- 漫长的等待,它终于好了!
注意这里的这个地址,jenkins将编译打包后的war文件放在了这个目录下面:
没问题,不止war包,编译好的项目也放到了该目录下,到此为止,就使用jenkins将svn仓库里的代码编译并打包好了,下面需要做的就是将这个打包后的文件部署到tomcat里边。 - 回到主页面,点击项目名称右边的下拉箭头,选择“配置”
sorry,忘了一点,在使用jenkins部署项目的时候,还需要一个插件,先进到“系统管理”->“管理插件”页面,同理,在“可选插件”标签下,在过滤出输入:deploy,选择下面的“Deploy to container Plugin”,点击“直接安装”,等待安装完成。 - 在部署之前,还有一些必要的操作,需要对服务器的tomcat进行一些设置,进入tomcat的conf目录,对tomcat-users.xml进行编辑,在tomcat-users标签下添加如下内容,username和password根据自己填写,后期需要用到这个,然后保存退出,重启tomcat

- 重启完tomcat之后,进入jenkins里,对刚才的项目再次进行一些配置,点击“构建后操作”,进行一些配置:
对一些参数进行说明:
WAR/EAR files:上面自动化编译后生成的war包所在的路径,注意格式和名称,可以去刚才生成war包的目录看一下再来这里填写

Context path:项目部署完成之后的访问路径,例如:http://192.168.1.1:8080/wb,这个可以根据自己的需要随意填写。
Manager user name和Manager password就是上一步在tomcat里配置的用户名和密码,填写在这里就可以了。
Tomcat URL:tomcat所在服务器的地址,例如http://192.168.201.128:8080/
这些东西填好之后就可以保存了,保存完之后回到主页面,再进行一次构建。
- 这次是不是比第一次构建的快多了,而且你也会发现控制台输出的信息,已经将构建好的war包部署到指定的容器里了

- 去到指定的部署目录下看看,有没有东西部署过来,进来一看,哇,真的过来了诶,赶紧访问一下试试!!!
在浏览器里输入服务器地址已经项目地址访问,搞定,木问题啊~
- 全文结束,以后当再次签入代码的时候,点击一下“立即构建”就可以了,再也不用重新编译、构建、部署、重启服务器什么的了,当然你也可以把“构建触发器”设置成当仓库代码发生改变的时候进行构建,那样你会更加省事,也可以设置成每天晚上0点进行构建或者每隔15分钟进行一次构建,看需求了。
Jenkins+Tomcat+svn+maven自动化构建简单过程的更多相关文章
- jenkins+docker 持续构建非docker in docker jenkins docker svn maven
工欲善其事必先利其器,为了解脱程序员的,我们程序员本身发明了很多好用的工具,通过各种工具的组合来达到我们想要的结果 本文采用jenkins docker svn maven作为相关工具,项目sprin ...
- Java-Maven-Runoob:Maven 自动化构建
ylbtech-Java-Maven-Runoob:Maven 自动化构建 1.返回顶部 1. 自动化构建定义了这样一种场景: 在一个项目成功构建完成后,其相关的依赖工程即开始构建,这样可以保证其依赖 ...
- 【第十四篇】- Maven 自动化构建之Spring Cloud直播商城 b2b2c电子商务技术总结
Maven 自动化构建 自动化构建定义了这样一种场景: 在一个项目成功构建完成后,其相关的依赖工程即开始构建,这样可以保证其依赖项目的稳定. 比如一个团队正在开发一个项目 bus-core-api, ...
- Tomcat+Jenkins+SonarQube+SVN+Maven 集成自动化环境搭建(Windows10环境下)
说在前面的话: 从接到任务到完成共用了7天的时间.正常人用不到这个时间. 此时的功能表现是: 登录本地JenKins对项目进行构建,能够自动从SVN读取最新代码并按照Maven项目构建,构建完成能够自 ...
- Windows版Jenkins+SVN+Maven自动化部署环境搭建【转】
前言 因今年公司新产品线较多,为了降低耦合,达到业务分离.重用,提高内部开发效率的目的,采用了基于服务组件.前后端分离的架构体系.与之前传统单应用架构相比,系统部署.配置更加复杂,为了能够频繁地将软件 ...
- Jenkins实现SVN+Maven+Java项目的持续集成
Jenkins 2.46.1 Centos 7.3 JDK 7 安装jdk/maven/svn 在Jenkins所在的Linux机器安装jdk和maven,步骤就不说了,下面是环境变量: export ...
- 浅谈maven自动化构建工具
转载https://blog.csdn.net/zxm1306192988/article/details/76209062 Maven是什么[what] 1.Maven 是 Apache 软件基金会 ...
- Jenkins+Ant+TestNG+Testlink自动化构建集成(完整版)
这段时间折腾自动化测试,之前都是在Eclipse工程里面手工执行自动化测试脚本,调用Testlink API执行测试用例,目前搭建Jenkins自动化构建测试的方式,实现持续构建,执行自动化测试. 硬 ...
- Jenkins+Ant+TestNG+Testlink自动化构建集成
这段时间折腾自动化测试,之前都是在Eclipse工程里面手工执行自动化测试脚本,调用Testlink API执行测试用例,目前搭建Jenkins自动化构建测试的方式,实现持续构建,执行自动化测试. 硬 ...
随机推荐
- 让Xcode日志输出中文
有的时候xcode打印后台返回的日志,明明后台返回的是中文,但是在xcode的日志里面却不是中文,而是unicode编码,这个就比较坑,因为看不到内容. 其实解决办法有两种: 第一种就是给xcode安 ...
- Unity 3D Framework Designing(7)——IoC工厂理念先行
一谈到 『IoC』,有经验的程序员马上会联想到控制反转,将创建对象的责任反转给工厂.IoC是依赖注入 『DI』 的核心,大名鼎鼎的Spring框架就是一个非常卓越的的控制反转.依赖注入框架.遗憾的是, ...
- java随机数生成的原理
一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在 ...
- SVN使用小记
SVN(Subversion)是优秀的版本控制工具,之前在eclipse里面项目管理的时候,File-->Import-->SVN-->从SVN检出项目-->创建新的资源库位置 ...
- Python之路-shell&计划任务
开发脚本自动部署及监控1.编写脚本自动部署反向代理.web.nfs:要求: I.部署nginx反向代理三个web服务,调度算法使用加权轮询: II.所有web服务使用共享存储nfs ...
- CSS3学习笔记(3)-CSS3边框
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- 老李分享: 并行计算基础&编程模型与工具 1
老李分享: 并行计算基础&编程模型与工具 在当前计算机应用中,对高速并行计算的需求是广泛的,归纳起来,主要有三种类型的应用需求: 计算密集(Computer-Intensive)型应用,如 ...
- Selenium测试专项一班隆重开班
Selenium测试专项一班隆重开班 应广大测试技术人员要求,以及企业技术需求.Selenium提前一周开课了,只针对合作的每家企业提供1-2个参训名额.预计培训60人次.但报名人数却远远超出我们预期 ...
- sublime Text3+emmet(快速开发)
sublime软件使用Emmet插件快速编写CSS样式 基本的CSS样式编写时,很多样式只需输入首字母即可得到不带属性值的CSS样式,像上面说到的margin.而 ...
- ios 苹果手机硬件摘要
IPhone4 * 2010年发布. * A4单核处理器. * 3.5英寸Retina显示屏(视网膜屏幕),960x640像素分辨率. * 后置摄像头500万像素. * 前置摄像头30万像素. IPh ...