Jenkins如何實現(xiàn)自動打包部署linux
需要用到2個插件。
git parameter:用于參數(shù)化構(gòu)建時選擇分支。
Publish Over SSH:用于上傳jar包和操作tomcat
1.先在系統(tǒng)設(shè)置添加要連接的linux服務(wù)器,使用用戶名和密碼驗證,不需要私鑰和公匙。并在高級里點擊test是否成功
2.新建maven的job,添加參數(shù)化構(gòu)建
3.選擇git,git的分支選擇步驟2的name
4.maven命令輸入打包install -Dmaven.test.skip=true -U
5. 添加over ssh,里面參數(shù)的配置參考:https://www.cnblogs.com/zz0412/p/jenkins_jj_10.html
6.我是先把jar或者war上傳到BUILD_ID的備份目錄(項目多的話,也可以在增加下$JOB_NAME/$BUILD_ID),然后又把jar復(fù)制到tomcat下,Exec command詳見操作命令
#!/bin/sh #kill tomcat pid export BUILD_ID=$BUILD_ID # 1.關(guān)閉tomcat pidlist=`ps -ef|grep 8081|grep -v "grep"|awk '{print $2}'` function stop(){ if [ "$pidlist" == "" ] then echo "----tomcat 已經(jīng)關(guān)閉----" else echo "tomcat進(jìn)程號 :$pidlist" kill -9 $pidlist echo "KILL $pidlist:" fi } stop pidlist2=`ps -ef|grep 8081|grep -v "grep"|awk '{print $2}'` if [ "$pidlist2" == "" ] then echo "----關(guān)閉tomcat成功----" else echo "----關(guān)閉tomcat失敗----" fi # 2.移除原來tomcat中webapps中的項目文件夾 rm -rf /usr/local/apache-tomcat-8081/webapps/ROOT/* rm -rf /usr/local/apache-tomcat-8081/webapps/qingzhutool* # 3.復(fù)制jenkins生成的war包到tomcat中webapps中 cp -r /home/war-jar-bak/$BUILD_ID/qingzhutool.jar /usr/local/apache-tomcat-8081/webapps sleep 3s # 4.修改war包的名稱 #mv /usr/local/tomcat_mobile/webapps/mobile.war /usr/local/tomcat_mobile/webapps/ROOT.war # 5.啟動tomcat cd /usr/local/apache-tomcat-8081/bin sh startup.sh
最后執(zhí)行sh的時候可能提示沒權(quán)限,進(jìn)入tomcat,給sh文件賦權(quán)限即可
chmod +x *.sh
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring指定bean在哪個應(yīng)用加載(示例詳解)
本文通過實例代碼介紹了Spring指定bean在哪個應(yīng)用加載,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-08-08詳解SpringMVC的攔截器鏈實現(xiàn)及攔截器鏈配置
攔截器(Interceptor)是一種動態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動態(tài)攔截控制器方法的執(zhí)行。本文將詳細(xì)講講SpringMVC中攔截器參數(shù)及攔截器鏈配置,感興趣的可以嘗試一下2022-08-08Java 堆內(nèi)存與棧內(nèi)存詳細(xì)介紹
這篇文章主要介紹了Java 堆內(nèi)存與棧內(nèi)存詳細(xì)介紹的相關(guān)資料,這里對java 的堆內(nèi)存和棧內(nèi)存進(jìn)行了詳細(xì)的分析,需要的朋友可以參考下2016-11-11java如何發(fā)送get請求獲取數(shù)據(jù)(附代碼)
這篇文章主要給大家介紹了關(guān)于java如何發(fā)送get請求獲取數(shù)據(jù)的相關(guān)資料,Java中的GET請求方法是HTTP協(xié)議中的一種請求方式,用于向服務(wù)器請求獲取資源,需要的朋友可以參考下2023-10-10