真是运维的福利,不用在敲Linux命令了

须要的工具:Linux或window、Jenkins、tomcat7、Jdk、maven、项目部署的war包

1、首先从Jenkins官网下载最新的Jenkins的war包http://jenkins-ci.org/

2、把jenkins.war放在tomcat的webApps下。然后启动tomcat,截图例如以下:

Jenkins和Maven构建持续集成-LMLPHP

点击“系统管理——系统设置”例如以下图所看到的:

Jenkins和Maven构建持续集成-LMLPHP

Jenkins和Maven构建持续集成-LMLPHP

Jenkins和Maven构建持续集成-LMLPHP

配置完毕后点击应用、保存。

3、系统配置完毕之后開始构建项目,以下以构建maven项目为例。例如以下图所看到的:

Jenkins和Maven构建持续集成-LMLPHP

以下開始配置构建的项目

Jenkins和Maven构建持续集成-LMLPHP

Jenkins和Maven构建持续集成-LMLPHP

须要注意的是假设要配置构建后的操作。须要先安装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(扩展文件错误)

Jenkins和Maven构建持续集成-LMLPHP

通过以上的改动和优化,在持续构建的时候会报一个为了防止内存泄露。已经强制注销的警告,经測试。不影响程序訪问。(由于项目是在执行中被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>

有什么问题大家能够一起交流,谢谢!

05-25 16:22