#jenkins + maven + svn + tomcat jenkins可以帮我们编译发布代码,比如我们提交到SVN后,要发布运行,就可以通过jenkins进行编译运行
##环境
- SVN服务器 项目检出地址 http://192.168.1.19:8888/svn/房产类项目/20.trunks/hpsfm-bank
- apache-maven-3.0.5
- jenkins jenkins-Version: 1.499
- JDK 1.6
- TOMCAT 6.0.47
##部署jenkins ###1.修改tomcat用户信息tomcat-users.xml,发布项目到tomcat中需要用到
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="manager"/>
也可能需要manager-gui角色
<role rolename="manager-gui"/>
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="manager,manager-gui"/>
目的是要访问http://127.0.0.1:8080/manager/list进行部署项目需要
###2.将jenkins放到tomcat/webapps中,运行tomcat
###3.下载jenkins插件Deploy to container Plugin,Jenkins->系统管理->管理插件->可选插件->选中插件点击Install without restart
###4.系统设置JDK以及MAVEN,Jenkins->系统管理->系统设置
JDK
JDK安装
别名:JDK 1.6.45
JAVA_HOME:D:\Tools\jdk1.6.0_45
自动安装不进行选择
Maven
Maven 安装
Name:maven-3.0.5
JAVA_HOME:D:\Tools\apache-maven-3.0.5
自动安装不进行选择
###5.建立新Job,输入任务名称,选择构建一个maven2/3项目
源码管理
Subversion
Repository URL:http://192.168.1.19:8888/svn/房产类项目/20.trunks/hpsfm-bank
Local module directory (optional): .
构建触发器
Build periodically 周期进行构建
日程表:0 9 * * *
第一个参数代表的是分钟 minute,取值 0~59;
第二个参数代表的是小时 hour,取值 0~23;
第三个参数代表的是天 day,取值 1~31;
第四个参数代表的是月 month,取值 1~12;
最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
Poll SCM 定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作,日程表参数见上面
Build
Root POM:pom.xml
Goals and options:clean install
构建后操作
Add post-build action -->Deploy war/ear to a container
WAR/EAR files:target/hpsfm-bank.war
Context path:/
Add Container -->Tomcat 6.0X
Manager user name:tomcat
Manager password:tomcat
Tomcat URL:http://127.0.0.1:8080
###6.保存,项目立即构建,构建成功祝你Good luck
##问题
-
java.lang.NoClassDefFoundError: org/apache/maven/cli/MavenLoggerManager maven版本新,导致该类已被重写,查了一下3.0.5版本是最高版本
-
The username you provided is not allowed to use the text-based Tomcat Manager (error 403) tomcat用户信息tomcat-users.xml配置信息有误,请进行验证配置过后是否可以访问http://127.0.0.1:8080/manager/list