Jenkins+Maven+SVN搭建自动部署、自动测试环境
、打开http://10.3.15.78:8080/jenkins/,第一次进入里面没有数据,我们需要创建job,我们这有2个项目,需要创建2个job。http://10.3.34.163:9890/jenkins/
2、点击左上角的new job,在new job页面需要选择job的类型,Jenkins支持几种类型,我们选择“构建一个maven2/3项目”
3、点击OK按钮后,进会进入详细配置界面,详细配置界面的配置项很多,不过不用怕,大部分使用默认配置就可以了,下面就说说我们需要修改的几个地方:
3.1)Source Code Management
因为我们使用SVN管理源码,所以这里选择Subversion,并在Repository URL中输入我们的SVN地址:
http://10.3.34.163:9880/XXXX/trunk/
输入SVN库的URL地址后,Jenkins会自动验证地址,并给予提示。
点击红色字体部分的enter credential链接,进入页面
设置好访问SVN库的用户名和密码后,点击OK按钮
设置成功。点击Close按钮,返回之前的Source Code Management页面。此时不再有红色警告信息了。
3.2)配置自动构建的计划,假设我们想让项目中每天12点和晚上8点自动构建一次,只需要在Build Triggers中选择Build periodically,并在Schedule中输入 0 12,20 * **。
我配置的是每晚8点自动构建
注:Schedule的配置规则是有5个空格隔开的字符组成,从左到右分别代表:分时天月年。*代表所有,0 12,20 * ** 表示“在任何年任何月任何天的12和20点0分”进行构建。
3.3)配置到这里,可能有人发现在Build配置节点,有红色错误信息,提示
Jenkins needs toknow where your Maven2 is installed.
Please do so fromthe system configuration.
是因为Jenkins找不到maven的原因,点击"systemconfiguration",是system configuration的maven配置中添加maven目录就OK,如下图:
我设置了JRE 6和MAVEN 3的安装目录。
点击左下角的SAVE按钮,保存设置。
3.4)保存好所有配置后,我们第1个job就算是完成了。
3.5)创建第2个job,配置和上面的配置相同。只需把svn地址改成:http://localhost/svn/Web
三、自动编译
在经过上面的配置后,回到Jenkins首页,在首页可以看到刚才添加的2个job
点击某1个job后后面的"Schedule abuild"图片手动构建,点击完后,会在左边的Build Queue或者Build Executor Status显示正在构建的任务,在自动构建完后,刷新页面,就可以看到构建结果了,如何某个项目构建失败,点击项目后面的构建数字(从1开始递增)进入项目的"Console Output "可以查看项目构建失败的原因。当然我们也可以配置把构建失败的结果发到邮箱。
到目前为止,1个简单的自动构建环境就搭建好了,很简单吧。
四、自动测试
在maven的pom.xml中配置test resouce和test class。
在Jenkins中新建一个mvn batch,如下
[html] 个问题,现在是能自动构建了,但是构建好的web.war都还是在Jenkins目录下,并没有发布到tomcat中,还需要手动copy过去?
这是个问题,不过别急,要达到自动部署的目的,需要安装1个Jenkins的部署插件。选择“系统管理”菜单的“管理插件”:
选择“可选插件”,找到Deploy Plugin1.8插件,选择并安装它。
注:Deploy Plugin 1.8插件支持Tomcat4.x/5.x/6.x/7.x ,JBoss 3.x/4.x ,Glassfish2.x/3.x
点击底部的“安装”按钮,耐心等待,直到Deploy Plugin完成,显示Success。
选择框打钩,Jenkins会自动重启:
此时,在插件管理的“已安装”Tab页,可以看到部署插件已安装完毕。
重新进入web的configure 配置界面,在最下面会发现多处1个配置项,让我们配置tomcat的基本信息
注:war file使用的是Jenkinsworkspace的相对目录,hudon默认的目录在:
C:\Documents andSettings\用户名\.Jenkins\
workspace目录:C:\Documents andSettings\用户名\.Jenkins\ jobs\web\workspace\
最终产生的war在:C:\Documents andSettings\用户名\.Jenkins\ jobs\web\workspace\Web\target\web.war
注:可支持远程部署,用Jenkins做部署机器,和运营机器分开管理
保存配置再重新构建一次,打开tomcat的webapps目录,发现web.war终于过来了,大功告成。
#以上#
来源: <http://blog.csdn.net/thestoryoftony/article/details/7684137>
Jenkins+Maven+SVN搭建自动部署、自动测试环境的更多相关文章
- Docker+Jenkins+Maven+SVN搭建持续集成环境
Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...
- Jenkins+Maven+Svn搭建持续集成环境持续集成和自动部署
Jenkins和Hudson有很深的渊源,Jenkins目前更新频繁,目前选用Jenkins为持续集成工具和自动部署 Jenkins的使用有很多的介绍,主要记录如下要点: 192.168.1.240: ...
- Jenkins+Maven+SVN+Nexus自动化部署代码实例
本文接着上篇安装jenkins,安装相关插件,使用我们公司持续集成的测试环境实例进行演示 ========= 完美的分割线 ========== 1.安装jenkins的maven插件 如果要使用je ...
- Jenkins+Ant/maven+Svn实现自动化部署,编译,运行,测试结果自动邮件通知
Jenkins+Ant+Svn实现自动化部署,编译,运行,测试结果自动邮件通知
- php利用svn hooks将程序自动发布到测试环境
利用svn hooks将php程序自动发布到测试环境 复制仓库hooks目录下的post-commit.tmpl为post-commit cp post-commit.tmpl post-commit ...
- Hudson+Maven+Svn搭建持续集成环境
Hudson+Maven+Svn搭建持续集成环境 博客分类: 配置管理 mavenSVNTomcat项目管理配置管理 一.所用开发工具 1. Hudson: Hudson 是一种革命性的开放源码 ...
- [Eclipse的Maven项目搭建,仅为测试Maven功能]如何在Eclipse下搭建Maven项目
[Eclipse的Maven项目搭建,仅为测试Maven功能]如何在Eclipse下搭建Maven项目 你可能需要了解以下才能更好的阅读以下: 在 Windows 中配置Maven: http:/ ...
- 在ubuntu机器上部署php测试环境
在ubuntu机器上部署php测试环境 一.部署环境 Ubuntu11.10_X86_32,编译安装相应的软件:nginx+mysql+php. 二.软件安装 2.1 软件下载 libiconv-1. ...
- 【Head First Servlets and JSP】笔记6:什么是响应首部 & 快速搭建一个简单的测试环境
搭建简单的测试环境 什么是响应首部 最简单的响应首部——Content-Type 设置响应首部 请求重定向与响应首部 在浏览器中查看Response Headers 1.先快速搭建一个简单的测试环境, ...
随机推荐
- ThinkPHP3.2 分页实现
ThinkPHP 分页实现 TP3.2框架手册,有一个数据分页,不过每次都要写太多的代码,还有中文设置等有些麻烦,做为程序开发者,有必要整理下: O.先看效果图 一.分页方法 /** * TODO ...
- zend studio 快捷键收集
Ctrl + / 单行注释 Ctrl + Shift + / 添加块注释 Ctrl + Shift + \ 移除块注释 Ctrl + Shift + F 调整代码格式 Ctr ...
- 提权后获取linux root密码
提权后获取linux root密码 2011-09-09 10:45:25 我来说两句 收藏 我要投稿 在webbackdoor本身是root(可能性小的可怜)或通过某漏洞溢出 ...
- POJ 1273 Drainage Ditches(网络流dinic算法模板)
POJ 1273给出M条边,N个点,求源点1到汇点N的最大流量. 本文主要就是附上dinic的模板,供以后参考. #include <iostream> #include <stdi ...
- touch事件学习
window.onload = function(){ var touch = { movetarget : false, touchStart : function (e) { console.lo ...
- Python并发与并行的新手指南
点这里 在批评Python的讨论中,常常说起Python多线程是多么的难用.还有人对 global interpreter lock(也被亲切的称为“GIL”)指指点点,说它阻碍了Python的多线程 ...
- 虚拟专用网络VPN
寒假回到家里需要下载论文,怎样才能访问学校图书馆的数据库呢?解决方法是学校图书馆在内网中架设一台VPN服务器,VPN服务器有两块网卡,一块连接内网,一块连接公网.然后就可以通过互联网找到VPN服务器, ...
- 项目中用到的SQL-总结
基本sql总结: Group by的理解:having子句,分组函数 Group by使用的限定: 1.出现在Select列表中的字段或者出现在order by后面的字段,如果不是包含在分组函数中,那 ...
- 相对布局RelativeLayout
一. public class RelativeLayout extends ViewGroup java.lang.Object ↳ android.view.View ↳ an ...
- UVA 11361 - Investigating Div-Sum Property 数位DP
An integer is divisible by 3 if the sum of its digits is also divisible by 3. For example, 3702 is d ...