Jenkins如何實(shí)現(xiàn)自動打包部署linux
需要用到2個插件。
git parameter:用于參數(shù)化構(gòu)建時選擇分支。
Publish Over SSH:用于上傳jar包和操作tomcat
1.先在系統(tǒng)設(shè)置添加要連接的linux服務(wù)器,使用用戶名和密碼驗(yàn)證,不需要私鑰和公匙。并在高級里點(diǎn)擊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的備份目錄(項(xiàng)目多的話,也可以在增加下$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中的項(xiàng)目文件夾 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)文章
詳解堆排序算法原理及Java版的代碼實(shí)現(xiàn)
如果將堆理解為二叉樹,那么樹中任一非葉結(jié)點(diǎn)的關(guān)鍵字均不大于(或不小于)其左右孩子(若存在)結(jié)點(diǎn)的關(guān)鍵字,堆排序的時間復(fù)雜度為O(N*logN),這里我們就來詳解堆排序算法原理及Java版的代碼實(shí)現(xiàn)2016-06-06Spring指定bean在哪個應(yīng)用加載(示例詳解)
本文通過實(shí)例代碼介紹了Spring指定bean在哪個應(yīng)用加載,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-08-08Springboot實(shí)現(xiàn)郵件發(fā)送功能
這篇文章主要為大家詳細(xì)介紹了Springboot實(shí)現(xiàn)郵件發(fā)送功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-02-02詳解SpringMVC的攔截器鏈實(shí)現(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-11Springboot項(xiàng)目接口限流實(shí)現(xiàn)方案
這篇文章主要介紹了Springboot項(xiàng)目接口限流實(shí)現(xiàn)方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08java如何發(fā)送get請求獲取數(shù)據(jù)(附代碼)
這篇文章主要給大家介紹了關(guān)于java如何發(fā)送get請求獲取數(shù)據(jù)的相關(guān)資料,Java中的GET請求方法是HTTP協(xié)議中的一種請求方式,用于向服務(wù)器請求獲取資源,需要的朋友可以參考下2023-10-10兩種Eclipse部署動態(tài)web項(xiàng)目方法
這篇文章主要介紹了兩種Eclipse部署動態(tài)web項(xiàng)目方法,需要的朋友可以參考下2015-11-11