转载自 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持续集成的更多相关文章

  1. Jenkins + svn + maven 构建持续集成环境搭建

    Jenkins简介 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: ...

  2. Jenkins+Jmeter+Ant接口持续集成

    修改时间 修改内容 修改人 2016.5.22 创建 刘永志 2016.6.15 完成 刘永志 前言: 为什么要用Jmeter做接口测试: 当选择这套方案的时候,很多人会问,为什么选择Jmeter做C ...

  3. Jenkins+Jmeter+Ant 接口持续集成(转)

    来源:https://testerhome.com/topics/5186 为什么要用Jmeter做接口测试 当选择这套方案的时候,很多人会问,为什么选择Jmeter做Case管理?为什么不自己写框架 ...

  4. Jenkins + SVN搭建php持续集成

    目标需求 开发提交代码到SVN,jenkins在分发服务器上执行'svn update',分发服务器在把代码同步到webserver,实现持续集成 流程 配置jenkins 一.jenkins所需插件 ...

  5. Jenkins+JMeter+Ant 接口持续集成

    ​JMeter安装 JMeter安装包: 下载地址:https://jmeter.apache.org/download_jmeter.cgi 依赖JDK环境 JDK环境配置: JAVA_HOME   ...

  6. (转)使用CruiseControl+SVN+ANT实现持续集成之二

    1. 环境搭建 1.1. 下载及目录介绍 从官方站点http://cruisecontrol.sourceforge.net/download.html下载一份最新的 CC 压缩包,最新的版本号为2. ...

  7. jenkins+svn+Ant+tomcat+非maven项目构建

    首先,输入项目名称,创建一个自由风格的项目; 然后,配置旧项目的策略参数,目的是防止构建项目太多,占用资源. 下一步,jdk版本选择: 下一步,关联svn项目. 下一步:配置ant 看不清,再来一张. ...

  8. Jenkins+Jmeter+Ant自动化持续集成环境搭建

    [前言] 今天让我们先把准备工作做好 >> 搭建环境! [正文] JDK+Jmeter安装教程: 参考博客:https://www.cnblogs.com/baoziluo/p/79056 ...

  9. Jenkins+Svn+Docker搭建持续集成环境 自动部署

    一.准备工作: 两台服务器:192.168.206.212,192.168.206.213 自己新建一个maven项目 其中两台机子做下面的软件配置 212机子: 安装expect并配置: 安装jen ...

随机推荐

  1. lampp中的ftp使用介绍

    搭建完毕lampp 具体要求如下:使用Lampp的proftpd,开通多个FTP用户,并各分配一个目录,而且需要限制用户在自己的目录里面,可以自由读写. 操作步骤:第一步:设置ftp用户组,输入命令: ...

  2. .Net MVC 身份验证

    .Net身份验证主要是分为三种 Windows | Forms | Passport ,其中Froms在项目中用的最多. Windows 身份验证 Forms 验证 Passport 验证 1.Win ...

  3. hive表命名规范 源码规则

    tablename 进来前已经把"`","."等过滤掉了,所以就是单词字符喽 \w搞定 \w包含_ 哈哈 规范就是 a-z A-Z 0-9 _ 也就是传说中的单 ...

  4. HTML5 图片宽高自适应,居中裁剪不失真

    一,使用 JS,先上效果图,右图为定死宽高的效果,左图为处理之后的 1, 主要思路是,在图片 onload 后,将图片的宽高比和 div 容器的宽高比进行比较, 2, 从而确定拉伸或者压缩之后是宽还是 ...

  5. <基础> PHP 数组操作

    array_filter — 用回调函数过滤数组中的单元 ( 如果 callback 函数返回 true,则 array 数组的当前值会被包含在返回的结果数组中.数组的键名保留不变 ) array a ...

  6. oracle基础 管理索引

    转自:https://blog.csdn.net/without_bont/article/details/79862112 管理索引   ---    原理介绍 索引是用于加速数据存取的数据对象.合 ...

  7. LeetCode 题解 Permutation Sequence 需要优化!

    题目大意:给出n和k,找到1..n这些数组成的有序全排列中的第k个. 首先,n的全排列可以分成n组,每一组由n-1个数组成. 例如  3的全排列,分成三组: 1 2 3  和 1 3 2 2 1 3 ...

  8. ORM对单表的增删改查

    表记录的增加: 1)b = Book(name='python', price=99) b.save() 2)Book.objects.create(name='python', price=99) ...

  9. cordova-config.xml配置应用图标

    1. <icon src="res/icon/ios/browser.png"/> 2.规格: iphone平台一般要求3种规格的图片:1x.2x.3x,也是就Icon ...

  10. UnicodeDecodeError: 'ascii' codec can't decode byte 0x9c in position 1: ordinal not in range(128)

    待研究: compressed_data = zlib.compress(json.dumps(data), 9) file_data = MySQLdb.escape_string(compress ...