您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何使用Jenkins實現自動化部署項目,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
一、在你的本地電腦或者linux服務器上下載安裝jenkins:
jenkins下載地址:https://jenkins.io/ 下載網站的war包版本就好了
下載完后把它部署到你的tomcat上運行:放到tomcat的webapps目錄下,啟動tomcat(windows下雙擊startup.bat或者linux下運行sh startup.sh),然后通過瀏覽器訪問,如我的電腦上訪問:localhost:8080/jenkins 。啟動后的界面如下:
然后到提示的文件中把里面的文本復制出來填到管理員密碼中。
接著如果是在本地電腦跑,可能會出現:該jenkins實例似乎已離線 提示,如果出現,是因為本地https訪問不了的原因。在瀏覽器中另打開一個界面http://localhost:8080/pluginManager/advanced,把升級站點中的url中的https改為http,保存更新。然后關掉tomcat服務器重啟,就可以聯網了。
接下來選擇安裝推薦的插件,這個需要一定的時間。最后額外推薦安裝兩個插件,在系統管理中可以安裝插件:
1、 Rebuilder
2、 Safe Restart
二、在linux服務器中安裝git, maven,創建一個jenkens目錄,配置git的公鑰到你的github上,這些步驟是使用jenkins的前提。
安裝git的目的是在自動化部署前實時從git遠程倉庫中拉取最新的代碼。在linux(我用的是centos系統)安裝git:
yum install git
生成密鑰:
ssh-keygen -t rsa -C youremail@abc.com
可以不設置密鑰密碼直接按三次回車。 把家目錄中生成的公鑰內容復制到github或其他倉庫上。
安裝maven的目的是通過項目中的pom.xml文件自動解決項目依賴問題,構建項目。linux中通過wget+下載鏈接下載maven的zip包然后解壓即可。配置maven環境變量:
ssh-keygen -t rsa -C youremail@abc.com
創建jenkins目錄,用來存儲拉取下來的項目代碼等。
三、將Linux服務器注冊到Jenkins上
1、開啟服務器上的ssh服務,可通過 netstat -anp | grep :22命令查看是否開啟
2、先來測試一下怎么在jenkins中操作遠程服務器
在jenkins中選擇系統管理——》新建節點
其中遠程工作目錄即你在Linux上創建的jenkins目錄。在Credentials添加一個遠程用戶,輸入你的遠程機器用戶名和密碼保存。
點擊TestEnv,啟動代理。
在全局工具配置中配置git命令:
3、自動化部署過程原理:
所以需要編寫一個shell腳本來執行這個過程。
具體的創建Jenkins任務的過程為
1.創建jenkins任務
2.填寫Server信息
3.配置git參數
4.填寫構建語句(shell腳本),實現自動部署。
四、創建自動化部署任務
1、編寫shell部署腳本deploy.sh,并放到linux服務器中的jenkins目錄下,在該目錄下通過touch deploy.sh創建一個腳本,把下面的腳本復制到里面即可(到時每次自動部署都會執行它),腳本中的my-scrum為我要自動構建的項目名:
#!/usr/bin/env bash #編譯+部署項目站點 #需要配置如下參數 # 項目路徑, 在Execute Shell中配置項目路徑, pwd 就可以獲得該項目路徑 # export PROJ_PATH=這個jenkins任務在部署機器上的路徑 # 輸入你的環境上tomcat的全路徑 # export TOMCAT_APP_PATH=tomcat在部署機器上的路徑 ### base 函數 killTomcat() { #pid=`ps -ef|grep tomcat|grep java|awk '{print $2}'` #echo "tomcat Id list :$pid" #if [ "$pid" = "" ] #then # echo "no tomcat pid alive" #else # kill -9 $pid #fi #上面注釋的或者下面的 cd $TOMCAT_APP_PATH/bin sh shutdown.sh } cd $PROJ_PATH/my-scrum mvn clean install # 停tomcat killTomcat # 刪除原有工程 rm -rf $TOMCAT_APP_PATH/webapps/ROOT rm -f $TOMCAT_APP_PATH/webapps/ROOT.war rm -f $TOMCAT_APP_PATH/webapps/my-scrum.war # 復制新的工程到tomcat上 cp $PROJ_PATH/scrum/target/order.war $TOMCAT_APP_PATH/webapps/ cd $TOMCAT_APP_PATH/webapps/ mv my-scrum.war ROOT.war # 啟動Tomcat cd $TOMCAT_APP_PATH/ sh bin/startup.sh
2、在jenkins上點擊新建一個任務,填好任務名,填寫運行的節點(上文中新建節點時創建的):
3、點擊源碼管理,填寫github(或gitlab等)地址:
4、點擊add,選擇check out to a sub-directory ,添加源碼下載到jenkins目錄下的指定目錄(可以命名為你的項目名):
5、填寫構建任務時的shell腳本,然后保存,點擊立即構建完成自動構建。(這里有一個坑,一定要給tomcat下所有sh文件加上x權限才能啟動tomcat成功,具體為在tomcat目錄上層執行chmod a+x -R tomcat目錄或者在tomcat的bin目錄下執行chmod +x *.sh)
#當jenkins進程結束后新開的tomcat進程不被殺死 BUILD_ID=DONTKILLME #加載變量 . /etc/profile #配置運行參數 #PROJ_PATH為設置的jenkins目錄的執行任務目錄 export PROJ_PATH=`pwd` #配置tomcat所在目錄 export TOMCAT_APP_PATH=/root/tomcats/tomcat-my-scrum #執行寫好的自動化部署腳本 sh /root/jenkins/deploy.sh
6、自動化構建成功:
7、后續代碼如果有改動,只要push到github或者gitlab等上,在jenkins界面中再次執行構建任務就可以了,非常方便,自動化部署,再也不用手動上傳項目到服務器了。
五、解決一個tomcat關閉,所有tomcat都被關閉了的問題(如果你的jenkins也是安裝的服務器上的其中一個tomcat中,就可能被莫名殺掉)
這是因為所有的tomcat的關閉腳本(shutdown.sh或者說catalina.sh)都默認監聽的是8005端口。只要進去tomcat目錄下的conf目錄下的server.xml文件中,將
<Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <!-- Security listener. Documentation at /docs/config/listeners.html <Listener className="org.apache.catalina.security.SecurityListener" /> -->
中的8005端口改為不同的端口,就不會一個tomcat關閉,所有的tomcat都被關閉了
以上就是如何使用Jenkins實現自動化部署項目,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。