Jenkins和Maven构建持续集成
真是运维的福利,不用在敲Linux命令了
须要的工具:Linux或window、Jenkins、tomcat7、Jdk、maven、项目部署的war包
1、首先从Jenkins官网下载最新的Jenkins的war包http://jenkins-ci.org/
2、把jenkins.war放在tomcat的webApps下。然后启动tomcat,截图例如以下:
点击“系统管理——系统设置”例如以下图所看到的:
配置完毕后点击应用、保存。
3、系统配置完毕之后開始构建项目,以下以构建maven项目为例。例如以下图所看到的:
以下開始配置构建的项目
须要注意的是假设要配置构建后的操作。须要先安装Jenkins一个deploy plugin插件,安装完毕后重新启动Jenkins服务就可以看到。
到这里配置就基本完毕。可是在持续构建的过程中会出现Build step ‘Deploy war/ear to a container’ marked build as failure或者unable to delete….或者内存溢出等异常,还须要配置下tomcat。
首先针对内存溢出在tomcat的catalina.bat文件里加入
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%
set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M
针对unable to delete tomcat/webApps/XXX.war异常。在tomcat的context.xml中加入:
<Context antiJARLocking="true" antiResourceLocking="true">
针对Build step ‘Deploy war/ear to a container’ marked build as failure(扩展文件错误)
通过以上的改动和优化,在持续构建的时候会报一个为了防止内存泄露。已经强制注销的警告,经測试。不影响程序訪问。(由于项目是在执行中被redeploying了)
To prevent a memory leak, the JDBC Driver has been forcibly unregister
ed.
为了保险起见,我在tomcat的tomcat-user.xml中加入了
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="manager-script,manager-gui,manager-jmx,manager-status"/>
</tomcat-users>
有什么问题大家能够一起交流,谢谢!