博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用Spring MVC3+Ant+Jenkins+SVN+Tomcat做一个持续集成例子
阅读量:5248 次
发布时间:2019-06-14

本文共 5977 字,大约阅读时间需要 19 分钟。

要学Spring,要学svn,要学Jenkins,还要学,所以自己做了一个简单的例子与大家分享。

 

 

(一) 环境搭建

  (1) 安装JDK

     并安装后,设置JAVA_HOME环境变量为:C:\Program Files\Java\jdk1.7.0_02,然后需要将JAVA_HOME\bin加到PATH环境变量中。

  (2) 安装Ant

     并将其解压到C盘下,设置ANT_HOME环境变量为:C:\apache-ant-1.8.2,然后将ANT_HOME\bin加到PATH环境变量中。

  (3) 安装SVN

     并安装后,将C:\Program Files (x86)\VisualSVN Server\bin加入PATH环境变量中。

     请注意:以上(1)-(3)中所有软件的环境变量的设置应根据你自己的安装路径做相应的修改。

  (4) 安装Tomcat服务器

     并将其解压到任意目录下,笔者的为G:\download\apache-tomcat-7.0.23,执行bin目录下的startup.bat文件,Tomcat便启动了,此时你可以在浏览器窗口中输入: ,如果能看到Apache Tomcat页面,则表示Tomcat运行成功。

  (5) 安装Jenkins

     并将该war文件直接放到Tomcat安装路径的webapps下,然后在在浏览器中输入,如果能看到Jenkins主页,则表示Jenkins安装成功。

   (6) 下载Spring MVC 3

       。

 

(二)创建工程

  新建spring-mvc-3-walk-through目录,我们称此目录为根目录,在根目录下创建original-project子目录,该目录用于将原始的工程import到SVN中(见下文),之后便可忽略了。

  在original-project下创建war文件夹,在war文件夹下创建index.jsp文件,内容如下:

   spring mvc 3 walk through        

Spring MVC 3

This is my spring mvc 3 tutorial.

 

  在war文件夹下创建WEB-INF文件夹,在WEB-INF文件夹下创建lib和classes文件夹,并将下载的spring库文件(在spring的dist文件夹下)拷到lib文件夹下,事实上对于本例,你不用将spring的库文件全部拷过来的,但是我为了省事,将它们全拷了。另外将commons-logging.jar, jstl.jar和 junit-3.8.2.jar也拷到lib文件夹下。

  在orginal-project下创建src文件夹,并在src下创建com\thoughtworks\davenkin\spring\HelloController.java:

package com.thoughtworks.davenkin.spring; import org.springframework.web.servlet.mvc.Controller; import org.springframework.web.servlet.ModelAndView; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.io.IOException; public class HelloController implements Controller {
protected final Log logger = LogFactory.getLog(getClass()); public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
logger.info("Returning hello view"); return new ModelAndView("hello.jsp"); } }

 

  该为HelloController添加测试了,在orginal-project下建立test文件夹,在test文件夹下创建com\thoughtworks\davenkin\spring\HelloControllerTests.java:

package com.thoughtworks.davenkin.spring; import org.springframework.web.servlet.ModelAndView; import com.thoughtworks.davenkin.spring.HelloController; import junit.framework.TestCase; public class HelloControllerTests extends TestCase {
public void testHandleRequestView() throws Exception{ HelloController controller = new HelloController(); ModelAndView modelAndView = controller.handleRequest(null, null); assertEquals("hello.jsp", modelAndView.getViewName()); } }

 

  之后在war下创建hello.jsp文件:

   spring mvc 3 walk through            

spring mvc 3 walk through

From HelloController

 

  该文件将被HelloController.java调用。

  在WEB-INF下创建web.xml文件,在该文件中将注册spring的DispatcherServlet用于拦截请求:

springapp
org.springframework.web.servlet.DispatcherServlet
1
springapp
*.htm
index.jsp

 

  同时,在WEB-INF下创建springapp-servlet.xml文件,至于为什么要取这个名字,我想你比我更清楚:

 

  在springapp-servlet.xml中,通过传统的方式将hello.htm映射到HelloController。

  接下来该写ant脚本了,在orginal-project文件下创建build.properties:

appserver.home=G:/download/apache-tomcat-7.0.23 appserver.lib=${appserver.home}/lib deploy.path=${appserver.home}/webapps

 

  根据你的Tomcat安装路径,以上文件应该做相应的修改。

  再在original-project下创建build.xml:

Test Failed.

 

   到此,工程创建好,可以运行ant tests来跑单元测试了。

 

(三)将工程导入SVN

  (1)首先需要建立svn库(关于svn的使用,请参考笔者的),在项目根目录(spring-mvc-3-walk-through)下创建repo文件夹来存放svn库,切换当前目录到根目录下,运行:

svnadmin create .\repo

 

  (2)修改svn配置文件,为了方便使用,我们修改repo\conf\svnserve.conf配置文件,找到以下两行(默认被注释掉了),取消注释,并将其改为:

anon-access = write          auth-access = write  

 

  这样你便不用配置svn的用户名和密码了。

  (3)运行svn服务器,监听1986端口:

svnserve -d -r .\repo --listen-port=1986

 

  (4)导入original-project工程:

svn import original-project svn://localhost:1986 -m "import project"

 

  (5)现在你便可以check out一份工作拷贝了:

svn checkout svn://localhost:1986 working

 

  我们将工作拷贝check out到了working目录下,以后便可以在working进行修改提交了。

 

(四)在Jenkins中新建Job

  在浏览器中打开进入jenkins主页(当然前提是你已启动Tomcat并已将jenkins的war文件拷到了Tomcat的webapps文件夹下),点击“新job”,在新页面中的“任务名称”中输入自己job的名字(笔者为spring-mvc3-walk-through),选择“构建一个自由风格的软件项目”,点击“OK”进入job的配置页面。

  在“源代码管理”中选择Subversion,并在Repository URL中输入:,这样jenkins便知道到从什么地方获取源代码了,然后在“构建触发器”中选择“Poll SCM",并在“日程表”中输入“* * * * *”,这表示jenkins将每分钟从svn更新一次代码,如果有新的提交,便自动触发构建。

  点击“增加构建步骤”,选择“Invoke Ant”,在Target中输入“ant build”,表明我们第一步希望完成build目标,在用相同的方法依次创建“ant tests”和“ant deploy”两个构建目标,然后点击保存。

  返回jenkins主页,你便可以看到新建了一个spring-mvc3-walk-through的job,这时你便可以在working目录下做自己的修改,然后提交,提交后不到1分钟便能看到该job前的灯在一闪一闪的,表明jenkins正在构建你的项目。(想想为什么是“不到”,而不是之前设置的“恰恰”一分钟)

  如果构建成功,那么灯将变成蓝色,否则红色。

转载于:https://www.cnblogs.com/davenkin/archive/2012/02/25/jenkins-ant-tomcat-svn-springmvc.html

你可能感兴趣的文章
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
网站产品设计
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>
day22 01 初识面向对象----简单的人狗大战小游戏
查看>>
mybatis源代码分析:深入了解mybatis延迟加载机制
查看>>
Flask三剑客
查看>>
Hibernate-缓存
查看>>
【BZOJ4516】生成魔咒(后缀自动机)
查看>>
提高PHP性能的10条建议
查看>>
svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法...
查看>>
熟用TableView
查看>>
Java大数——a^b + b^a
查看>>