最近在實習(xí)中接觸了jenkins這個東西,所以花點時間了解了下。它可以在代碼上傳倉庫(如github,gitee,gitlab)后,在jenkins(一個網(wǎng)站界面)中通過獲取代碼倉庫中最新代碼,進行自動化部署,而省去手動打包、上傳服務(wù)器、部署這一系列步驟,非常方便。 下面教程分為以下幾個部分: 一、在你的本地電腦或者linux服務(wù)器上下載安裝jenkins:jenkins下載地址:https:/// 下載網(wǎng)站的war包版本就好了 下載完后把它部署到你的tomcat上運行:放到tomcat的webapps目錄下,啟動tomcat(windows下雙擊startup.bat或者linux下運行sh startup.sh),然后通過瀏覽器訪問,如我的電腦上訪問:localhost:8080/jenkins 。啟動后的界面如下: 然后到提示的文件中把里面的文本復(fù)制出來填到管理員密碼中。 接著如果是在本地電腦跑,可能會出現(xiàn):該jenkins實例似乎已離線 提示,如果出現(xiàn),是因為本地https訪問不了的原因。在瀏覽器中另打開一個界面http://localhost:8080/pluginManager/advanced,把升級站點中的url中的https改為http,保存更新。然后關(guān)掉tomcat服務(wù)器重啟,就可以聯(lián)網(wǎng)了。 接下來選擇安裝推薦的插件,這個需要一定的時間。最后額外推薦安裝兩個插件,在系統(tǒng)管理中可以安裝插件: 1、 Rebuilder 2、 Safe Restart 二、在linux服務(wù)器中安裝git, maven,創(chuàng)建一個jenkens目錄,配置git的公鑰到你的github上,這些步驟是使用jenkins的前提。安裝git的目的是在自動化部署前實時從git遠程倉庫中拉取最新的代碼。在linux(我用的是centos系統(tǒng))安裝git:
生成密鑰:
可以不設(shè)置密鑰密碼直接按三次回車。 把家目錄中生成的公鑰內(nèi)容復(fù)制到github或其他倉庫上。 安裝maven的目的是通過項目中的pom.xml文件自動解決項目依賴問題,構(gòu)建項目。linux中通過wget+下載鏈接下載maven的zip包然后解壓即可。配置maven環(huán)境變量:
創(chuàng)建jenkins目錄,用來存儲拉取下來的項目代碼等。 三、將Linux服務(wù)器注冊到Jenkins上1、開啟服務(wù)器上的ssh服務(wù),可通過 netstat -anp | grep :22命令查看是否開啟 2、先來測試一下怎么在jenkins中操作遠程服務(wù)器 在jenkins中選擇系統(tǒng)管理——》新建節(jié)點 其中遠程工作目錄即你在Linux上創(chuàng)建的jenkins目錄。在Credentials添加一個遠程用戶,輸入你的遠程機器用戶名和密碼保存。 點擊TestEnv,啟動代理。 在全局工具配置中配置git命令: 3、自動化部署過程原理: 所以需要編寫一個shell腳本來執(zhí)行這個過程。 具體的創(chuàng)建Jenkins任務(wù)的過程為 1.創(chuàng)建jenkins任務(wù) 2.填寫Server信息 3.配置git參數(shù) 4.填寫構(gòu)建語句(shell腳本),實現(xiàn)自動部署。 四、創(chuàng)建自動化部署任務(wù)1、編寫shell部署腳本deploy.sh,并放到linux服務(wù)器中的jenkins目錄下,在該目錄下通過touch deploy.sh創(chuàng)建一個腳本,把下面的腳本復(fù)制到里面即可(到時每次自動部署都會執(zhí)行它),腳本中的my-scrum為我要自動構(gòu)建的項目名:
2、在jenkins上點擊新建一個任務(wù),填好任務(wù)名,填寫運行的節(jié)點(上文中新建節(jié)點時創(chuàng)建的): 3、點擊源碼管理,填寫github(或gitlab等)地址: 4、點擊add,選擇check out to a sub-directory ,添加源碼下載到j(luò)enkins目錄下的指定目錄(可以命名為你的項目名):
6、自動化構(gòu)建成功: 7、后續(xù)代碼如果有改動,只要push到github或者gitlab等上,在jenkins界面中再次執(zhí)行構(gòu)建任務(wù)就可以了,非常方便,自動化部署,再也不用手動上傳項目到服務(wù)器了。 五、解決一個tomcat關(guān)閉,所有tomcat都被關(guān)閉了的問題(如果你的jenkins也是安裝的服務(wù)器上的其中一個tomcat中,就可能被莫名殺掉)這是因為所有的tomcat的關(guān)閉腳本(shutdown.sh或者說catalina.sh)都默認(rèn)監(jiān)聽的是8005端口。只要進去tomcat目錄下的conf目錄下的server.xml文件中,將
中的8005端口改為不同的端口,就不會一個tomcat關(guān)閉,所有的tomcat都被關(guān)閉了 六、以后可以在linux服務(wù)器中安裝多個tomcat,來部署不同的項目,分別使用不同的端口,如我喜歡用8081,8082,8083等端口來解決多個tomcat端口沖突問題(在tomcat的conf目錄下的server.xml中修改即可,默認(rèn)為8080)。然后可以用jenkins來管理這些tomcat的自動化部署啦。七、謝謝閱讀,歡迎交流! |
|