Jenkins+svn+ant+tomcat持续集成
转载自 http://www.cnblogs.com/liuhaixia/p/7267473.html
Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作。通过Jenkins+svn+ant+tomcat整合,可以完成对系统源代码的下载更新,以及代码的自动编译打包和项目的自动部署工作,而且项目的自动构建与平台无关,可以定时操作,从而使得测试人员脱离开发人员。
1、Jenkins工作原理

Jenkins是一个管理者,定时从svn获取更新的代码,拷贝到自己的workspace,然后利用ant将源码编译并生成war包,拷贝到tomcat的webapp目录下,再调用tomcat启动命令启动tomcat。
2、准备环境
安装jdk、ant、svn、tomcat,并配置环境变量JAVA_HOME、ANT_HOME,并添加到path,具体安装方法与环境变量配置省略。
3、Jenkins下载与安装
到官网下载jenkins.war。
第一种:进入到jenkins.war所在目录,打开cmd窗口,执行命令java –jar jenkins.war。默认端口为8080,指定端口启动命令java –jar Jenkins.war –httpPort=8089。访问页面:http://127.0.0.1:8089/,浏览器出现jenkins界面。
第二种:将jenkins.war 放到tomcat的webapp目录下,启动tomcat。访问页面:http://127.0.0.1:8080/jenkins,浏览器出现jenkins界面。
说明:第一次安装jenkins后,可能需要初始化,按步骤进行初始化即可。
4、Jenkins安装插件
需要安装Ant Plugin(ant)、Deploy to container Plugin(tomcat)、Hudson Subversion Plug-in(svn)插件。
第一种:在线安装。点击“系统管理”—>“管理插件”:

进入到“插件管理”界面,选择“可选插件”选项卡,选择需要安装的插件安装即可。
第二种:离线安装。到官网下载相关插件,切换到“高级”选项卡,点击“浏览”,选择下载的插件*.jpi或*.hpi,点击“上传“,等待上传完成。

上传完成后,需要重启Jenkins。在“已安装“选项卡中可以看到安装的插件。

5、创建持续集成任务
点击“新建”,输入名称,点击“构建一个自由风格的软件项目”点击“ok”,进入到构建界面


“General”是项目的基本信息。

“源码管理“配置源码svn地址,第一次需要输入svn用户名、密码。

“构建触发器”选择卡选择“Poll SCM”,日程表输入*/5 * * * *,意思是每五分钟检测一次源码变化。第一个域代表分钟,取值0-59,第二个域代表小时,取值0-23,第三个域代表天,取值1-31,第四个域代表月,取值1-12,第五个域代表星期,取0-7,0和7都代表星期天。

“构建”选择卡选择“Invoke Ant”


“构建后操作”选择卡选择“Deploy war/ear to a container”,必须安装“deploy.hpi”插件。


如果用“admin”无法登录,则修改tomcat/conf/tomcat-users.xml为:
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="admin"/>
<role rolename="manager"/>
<user username="admin" password="admin" roles="admin,manager"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
配置完毕后,点击“保存”按钮,完成任务配置。
6、构建
选择“立即构建”。蓝色代表构建成功,红色代表构建失败,点击链接,可以查看详情,点击“console Output”,查看构建日志。
Jenkins+svn+ant+tomcat持续集成的更多相关文章
- Jenkins + svn + maven 构建持续集成环境搭建
Jenkins简介 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: ...
- Jenkins+Jmeter+Ant接口持续集成
修改时间 修改内容 修改人 2016.5.22 创建 刘永志 2016.6.15 完成 刘永志 前言: 为什么要用Jmeter做接口测试: 当选择这套方案的时候,很多人会问,为什么选择Jmeter做C ...
- Jenkins+Jmeter+Ant 接口持续集成(转)
来源:https://testerhome.com/topics/5186 为什么要用Jmeter做接口测试 当选择这套方案的时候,很多人会问,为什么选择Jmeter做Case管理?为什么不自己写框架 ...
- Jenkins + SVN搭建php持续集成
目标需求 开发提交代码到SVN,jenkins在分发服务器上执行'svn update',分发服务器在把代码同步到webserver,实现持续集成 流程 配置jenkins 一.jenkins所需插件 ...
- Jenkins+JMeter+Ant 接口持续集成
JMeter安装 JMeter安装包: 下载地址:https://jmeter.apache.org/download_jmeter.cgi 依赖JDK环境 JDK环境配置: JAVA_HOME ...
- (转)使用CruiseControl+SVN+ANT实现持续集成之二
1. 环境搭建 1.1. 下载及目录介绍 从官方站点http://cruisecontrol.sourceforge.net/download.html下载一份最新的 CC 压缩包,最新的版本号为2. ...
- jenkins+svn+Ant+tomcat+非maven项目构建
首先,输入项目名称,创建一个自由风格的项目; 然后,配置旧项目的策略参数,目的是防止构建项目太多,占用资源. 下一步,jdk版本选择: 下一步,关联svn项目. 下一步:配置ant 看不清,再来一张. ...
- Jenkins+Jmeter+Ant自动化持续集成环境搭建
[前言] 今天让我们先把准备工作做好 >> 搭建环境! [正文] JDK+Jmeter安装教程: 参考博客:https://www.cnblogs.com/baoziluo/p/79056 ...
- Jenkins+Svn+Docker搭建持续集成环境 自动部署
一.准备工作: 两台服务器:192.168.206.212,192.168.206.213 自己新建一个maven项目 其中两台机子做下面的软件配置 212机子: 安装expect并配置: 安装jen ...
随机推荐
- js提高篇
1定义一个方法 function aa(){alert(this)} 对于浏览器 这只是一个方法,那么this是什么的,this理所当然是document对象了..也就是说 打页面定义的方法 都是do ...
- ucenter
1 UCenter 的目录结构 2API接口 3返回标签数据示例 (PHP) 4应用接口函数 5短消息接口函数 6积分接口函数 7邮件接口函数 8事件接口函数 9头像接口函数 10好友接口函数 11用 ...
- 四、Java web 部 分试题
1 .Tomcat 的 优 化 经 验 答:去掉对 web.xml 的监视,把 jsp 提前编辑成 Servlet. 有富余物理内存的情况,加大 tomcat 使用的 jvm 的内存 2 .HTTP ...
- 在Ubuntu 14.04 64bit上安装百度云Linux客户端BCloud
参考:https://www.cnblogs.com/kluan/p/6014989.html 下载 网盘安装包,Bcloud 是一个 Linux 下超赞的客户端, 官网 github: https: ...
- python内置函数使用
print(abs(1)) #绝对值,正数就是自己 ",''])) #计算可迭代对象中是否为真,其中一个为假,就显示为假 print(all('')) # If the iterable i ...
- 结构体中string成员的问题
在结构体中定义字符串的成员的时候要注意定义成string有时候,在某些程序中给成员赋值会崩溃,但是不确定到底什么情况会崩溃.运行报错如下: Program received signal SIGSEG ...
- python_03 各种运算符
1.算数运算 2.比较运算 3.赋值运算 4.逻辑运算 先计算括号中表达式 计算顺序:and,or,not在一个表达式中从前到后计算, 若and前一个元素为false则立刻返回为False,不计算后面 ...
- LeetCode题解:Flatten Binary Tree to Linked List:别人的递归!
总是在看完别人的代码之后,才发现自己的差距! 我的递归: 先把左侧扁平化,再把右侧扁平化. 然后找到左侧最后一个节点,把右侧移动过去. 然后把左侧整体移到右侧,左侧置为空. 很复杂吧! 如果节点很长的 ...
- iOS 内存管理,ARC
iOS 对象内存释放时机:当对象的引用计数为0时对象被释放. 所以如下代码: __weak NSObject * a = [[NSObject alloc] init]; 这个对象在创建完赋完值后会被 ...
- Linux用户名、用户组的相关命令
whoami 查看当前登录用户 id 用户名 查看用户名的id 及所属组 groups 查看当前登录用户的所有所属组 groups 用户名 查看指定用户的所有所属组 cat /etc/passwd ...