一。使用jenkins进行持续集成的一般流程:
1.第一步:上传项目。
我使用的是Intellij idea 开发的web 项目(spring,spring mvc ,hibernate,maven), 当编写了一部分代码后,想要测试,怎么办? 使用Tortoise SVN ,将项目传到 Visual SVN Server上,
2.第二步:执行构建。
在jenkins中手动构建或定时构建,它会从Visual SVN Server 上下载你刚刚上传的项目。windows用户下载到C:\Users\Administrator\AppData\Local\jenkins\workspace\hellojenkins(此为项目名) ,然后jenkins自动调动hellojenkins下的pom.xml文件,进行构建,测试,并打war包,war包会放到hellojenkins\target目录下。(在这之前,请先用idea 测试一下pom.xml能否打出war包。)
3.第三步:部署。
将C:\Users\Administrator\AppData\Local\jenkins\workspace\hellojenkins\target\hellojenkins.0.0.1.war包放到tomcat/webapp目录下。。。
上面整理了一下整体的流程。下面详细说说怎么做:
1.安装配置jenkins.
从jenkins官网下载jenkins.war包,放到tomcat/webapp下,启动tomcat, 浏览器输入http://localhost:8080/jenkins 进入jenkins的管理界面(完全使用web页进行配置,无数据库)。然后点击系统管理,进入到系统设置界面中。
系统设置界面中,大部分使用默认设置,配置如下路径(主要是jdk,maven,ant),
保存即可。
2.jenkins新建,配置job(用户构建一个maven项目),
如图所示,选择新建,构建一个maven项目输入item名称,这里叫hellojenkins
点击OK,进行hellojenkins的配置界面。
3。配置hellojenkins
3.1 配置版本控制工具----源码管理,这一步我选择Subversion.如下图所示,
当执行hellojenkins构建时,会从这个地址下载项目到jenkins,的workspace目录的,如,C:\Users\Administrator\.jenkins\workspace
3.2 配置部署插件。
这一步需要回到jenkins系统管理中的管理插件。如图,下载安装Deploy Plugin
3.3重启tomcat后,进入管理插件界面,查看插件是否安装成功,接下来,配置部署。如下图;
如下图所示
3.4 点击应用,保存。(别高兴太早了。) 这一步还需要配置tomcat的user,
如图,修改tomcat/conf/tomcat-user.xmf文件中的用户
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager-gui,admin-gui,manager-jmx,manager-script,manager-status,role1"/>
这里tomcat的用户名密码都是tomcat,也就是上图中写的那个。
重启tomcat.
4.所有工作做好了,下一步,将在idea开发出的maven项目hellojenkins 通过tortoise svn 上传到visual svn server上。
5.点击job页,进行立即构建 ,查看输入日志。
我这里的svn仓库中一个空项目,所以构建失败了。这里应该是构建成功后,会有 Deploy war 类的信息提示。
这一步如果项目比较小的话,就没问题了。如果项目用了spring,hibernate,的话,tomcat可能 会报内存溢出的错误,解决办法就是在catalana.bat 的第一行加入
set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxNewSize=512m -XX:MaxPermSize=512m
这一句是用来设置内存大小的。
啰嗦了这么多,也不知道能帮到别人不,如有问题,发我邮件吧《[email protected]》.
补充一个,如果svn ,jenkins , 测试的tomcat , 开发环境全部分离时,应该怎么做的示意图。