Jenkins+maven持续集成平台部署指南一、持续集成的价值1.持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;2.持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;3.持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。二、实施过程(一)、简介:持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。本文正是从持续集成的基本概念入手,通过具体实例,介绍了如何基于Jenkins快速搭建持续集成环境。(二)、操作系统:windowsserver2003R2(域用户登录,安装clearcase)环境要求:加入域,安装clearcase这个不在这里赘述,使用clearcase域的用户登录Jenkins服务器(三)、工具:Jenkins(hudson)+clarcaseUCMPlugin+MavenPlugin+DeployPlugin(四)、安装配置过程1.Maven3的安装:1)把maven-3.0.2-bin.zip解压到D:\apache-maven-3.0.2(或者你自己想解压的位置,)。然后配置操作系统的环境变量,这和以前的版本是一样的:(1)增加MAVEN_HOME变量,其值为D:\apache-maven-3.0.2;(2)在Path中加入%MAVEN_HOME%\bin2)测试是否安装成功,可以在命令行下输入mvn-v,出现如下界面,说明安装成功2.安装配置jenkins:1)下载、安装:下载forwindows安装包:,把下载的zip包解压,双击解压的setup.exe文件,按照提示安装jenkins,安装完毕后jenkins将做为windows服务开机时自动启动,Jenkins安装完毕。在浏览器中输入就可以看到Jenkins的界面了。2)配置JenkinsJenkins的配置比较重要,其和Maven的结合主要就是在这里来进行配置的,本文重点讲Jenkins的配置。用上述的Jenkins的安装方法安装好Jenkins后,就可以通过浏览器来打开Jenkins的页面了,如下(如果你已经build过工程的话,会在这里显示出来哪些成功了,哪些失败了)Jenkins的全局配置首先要安装所需插件,点击左边列表菜单“系统管理”,然后点击“管理插件”,在打开的页面中选择“可选插件”,选择安装Jenkinsclearcaseplugin、clearcaseUCMplugin、Deployplugin等所需要的插件,如图所示:接下来要对Jenkins进行全局设置了,点击左边列表菜单“系统管理”,然后点击“系统设置”。可以对Jenkins进行系统配置,包括全局路径和变量设置等。如下图:主目录:Jenkins储存所有的数据文件在这个目录下.你可以通过以下几种方式更改(这个值在Jenkins运行时是不能更改的.其通常用来确保你的配置是否生效):使用你Web容器的管理工具设置JENKINS_HOME环境参数.在启动Web容器之前设置JENKINS_HOME环境变量.(不推荐)更改Jenkins.war(或者在展开的Web容器)内的web.xml配置文件。此配置的默认路径是C:\Users\Administrator\.jenkins(其点(.)前的路径是win7当前用户的工作路径),本人将其改为d:\jenkins\workspace,修改的方式是在操作系统的中增加环境变量JENKINS_HOME:d:\jenkins\workspace。系统消息:这是展示在Jenkins主界面信息,可以写点随意的东西,比如HelloHudson,弄个Logo图片等等,它也支持HTML语言,可以把这个欢迎界面弄的相当漂亮,不详述。生成等待时间:这个值是表示你可以让你的构建有等待时间,以防止在提交代码的过程中去开始构建。这里是全局的变量,也可以在每个项目里面去设定,因为每个项目等待时间的值肯定会不一样。(如果你想在这里设置可以查看右边的“帮助”)启用安全:这里是Jenkins权限的相应设置,选择该项后,如下图:这里我保留默认设置全局属性:这块设置默认即可JDK设置Jdk的设置是必须的,如果你在这里没有设置jdk的路径的话,在build工程的时候有可能会报类似以下的错误:JDK的安装可以选择自动安装,也可以选择手工安装。我选择手工安装。我的JAVA_HOME是安装在C:\Java\jdk1.6.0_10这里的,所以直接填入即可。填写好的JDK设置如下图:Maven设置同样Maven的设置可以选择自动安装也可以选择手工安装。本人选择手工安装,安装后的界面如下图所示。配置管理工具设置:设置CC的安装路径,和动态视图存储路径(共享目录路径)JenkinsURL、邮件通知设置:到此为止对于Jenkins的介绍就告一段落了,下面介绍新建任务相关的配置。3.新建任务点击左上角的“新Job”,在“新建任务”页面需要选择任务的类型,Jenkins支持几种类型,我们选择“构建一个maven2/3项目”,并点击OK。见下图:选择完任务类型后,进会进入详细配置界面,详细配置界面的配置项很多,大部分使用默认配置就可以了,下面就说说我们需要修改的几个地方:1):源码管理(SourceCodeManagement)因为我们使用的clearcase,所以这里选择UCMclearcase,并把viewtag、viewpath、streamselector项目填写完成。注意:streamselector应为开发流名@\pvob名称,例如DS_dev@\ds_pvob区分大小写。2):配置自动构建的计划:假设我们想让项目中每天12点和晚上8点自动构建一次,只需要在BuildTriggers中选择Buildperiodically,并在Schedule中输入012,20***。注:Schedule的配置规则是有5个空格隔开的字符组成,从左到右分别代表:分时天月年。*代表所有,012,20***表示在任何年任何月的任何天的12和20点的0分进行构建。3):构建配置(POM):此部分的配置关键是RootPOM配置项,此部分可以是绝对路径,也可以是相对路径。此部分我选择的是相对路径,仅仅指定了pom.xml,按照上面的配置,我的pom.xml文件的地址是“D:\jenkins\workspace\jobs\sdhs-dispatching-parent\workspace”,其由“主路径+jobs+任务名称+workspace”组成,如下图。如果没有与SCM工具集成,也可以手工将相关的POM及代码复制到此路径下。到此为止关键的配置就配置完毕了。回到Jenkins首页,并选择刚新建的任务,并点击“立即构建”,如下图:构建完毕,会看到如下的界面:界面上点击状态可以看到本次构建是否成功等信息;从变更集中可以看到本次构建clearcase中改变或增加的源代码;命令行可以看到Maven执行的时命令行的输出信息,如果构建过程有错误,可以看到错误信息。三、自动部署看完上面发现Jenkins配置真的很简单,几分钟自动构建环境就出来了,但环境搭建好后发现1个问题,现在是能自动构建了,但是构建好的web.war都还是在Jenkins目录下,并没有发布到tomcat中,还需要手动copy过去?要达到自动部署的目的,需要安装1个hudson的部署插件,转到Jenkins/系统管理/插件管理/可选插件,系统列出可用的所有插件,找到Deploy插件选中并点击安装按钮,等安装完毕后重启tomcat,就可以看到Deploy插件已经安装好了,安装好后的界面如下:下载完毕以后,重新打开上面添加任务的配置界面,找到配置文件的最后,找到Post-buildActions(构建后的动作),如下图:选中Depolywar/eartocontainer(发布war/ear到容器),在WAR/EARfiles中填写打包后生成的war/ear文件名;在Container中选择Tomcat6.x;在TomcatURL中填入(要发布到的地址及应用上下文名称);如果tomcat安装了自身的管理应用,则需要填入管理员名称和密码。保存配置再重新构建一次,打开tomcat的webapps目录,发现web.war过来了。至此自动构建部署配置工作完成。