JenKins整合Maven自动化构建

来源:互联网 发布:知乎 管理者 编辑:程序博客网 时间:2024/06/05 12:50


          最近看了好多招聘信息,发现有要求会Jenkins结合Maven做自动化构建的,刚好最近工作中有用到,上手很简单,功能很实用,但是也有很多坑需要注意,于是就写了这篇文章。

         废话不多说,直接上图。

        由于项目是maven项目,由10个项目相互依赖,因此创建了个build项目,里面只有个pom.xml文件,来构建这10个项目。

        svn结构图如下:

      

      因此在配置jenkins时,如下图所示:


      这里有一点要说明,也是本人踩过的坑,build项目一定要放在最上面配置,否者整和所有项目的pom.xml文件不会生效。

      还有一个坑,由于maven的版本原因整和其他工具会有bug,jenkins整和maven(3.3.5以上版本包括3.35)会出现bug,使用3.3.3以下版本包括3.3.3则不会出现这个问题(含泪趟坑).

     添加构建步骤:

     配上build项目中的pom.xml文件,输入maven构建命令

    

        剩下的步骤就是把maven项目构建后生成的项目war包自动部署到我们的tomcat服务器中,试过很多方式,包括使用jenkins自带的插件,由于其他未知原因均未成功,这里推荐使用Execute shell,使用shell命令实现自动部署,废话不多说,直接上我自己的代码。

#!/bin/shprojname=项目名projpath=maven构建生成war包的路径uploadpath=/usr/java/report/apache-tomcat-8.0.15/webappsif [ -f "${projpath}/${projname}.war" ]; thenrm -rf uploadpath/${projname}*cp ${projpath}/${projname}.war ${uploadpath}pid=`ps -ef |grep tomcat|egrep -v "grep"|grep apache-tomcat-8.0.15|awk '{print $2}'`if [ -n "$pid"];thensh /usr/java/report/apache-tomcat-8.0.15/bin/shutdown.shfish /usr/java/report/apache-tomcat-8.0.15/bin/startup.shelse echo "war 包不存在"exit 1fiecho "success"exit 0关于邮箱的配置这里就不另加缀述了(第一次写博客,希望能帮广大Coder们节省时间,关于样式,以后有机会我多改进)


阅读全文
0 0
原创粉丝点击