1. 程式人生 > >JenKins整合Maven自動化構建

JenKins整合Maven自動化構建


          最近看了好多招聘資訊,發現有要求會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/sh

projname=專案名
projpath=maven構建生成war包的路徑
uploadpath=/usr/java/report/apache-tomcat-8.0.15/webapps

if [ -f "${projpath}/${projname}.war" ]; then

rm -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"];then
sh /usr/java/report/apache-tomcat-8.0.15/bin/shutdown.sh
fi
sh /usr/java/report/apache-tomcat-8.0.15/bin/startup.sh

else 
	echo "war 包不存在"
	exit 1
fi
	echo "success"
	exit 0


關於郵箱的配置這裡就不另加綴述了

(第一次寫部落格,希望能幫廣大Coder們節省時間,關於樣式,以後有機會我多改進)