天天看點

Jenkins部署vue項目+問題解決部署步驟遇到的問題彙總參考資料

部署步驟

1.伺服器上安裝tomcat

首先到tomcat官網下載下傳壓縮包,unzip解壓,然後修改conf下的server.xml,主要修改以下2處地方的port

(注意,我的項目使用8093端口,文章後面出現8093即代表項目端口)

<Server port="18093" shutdown="SHUTDOWN">
           
<Connector port="8093" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
           

按需修改,可用以下指令檢視端口是否被占用

netstat -anp|grep 8093
           

修改完後切換到bin目錄啟動tomcat

./startup.sh
           

若提示 -bash: ./startup.sh: Permission denied 則可用以下指令對目前目錄下的*.sh檔案的所有者增加可執行權限

chmod u+x *.sh
           

啟動完畢後可用netstat檢視端口是否啟動成功,然後在浏覽器位址欄輸入http://192.168.1.221:8093/,看到tomcat首頁則表示啟動成功,若失敗則可去log檔案夾下檢視catalina.out分析出錯原因

依據相同步驟再建立一個tomcat檔案夾放Jenkins,下載下傳jenkins.war解壓到tomat的webapps下然後啟動tomcat即可,注意端口不要重複,啟動後通路ip+端口,按提示找到密碼檔案,輸入密碼,進入插件安裝頁面,可以安裝推薦的插件或者自己選擇插件進行安裝,也可點選右上角關閉,安裝完畢或關閉後即可開始使用Jenkins

可參考Linux-Jenkins安裝部署

2.安裝NodeJS 插件

系統管理 -> 插件管理 -> 可選插件 -> 輸入 NodeJS -> 勾選後點選直接安裝

安裝完成後點選 系統管理 -> 全局工具配置 -> 新增NodeJS -> 輸入别名 -> 選擇版本 -> 儲存

Jenkins部署vue項目+問題解決部署步驟遇到的問題彙總參考資料

3.建構vue項目

點選建立任務

Jenkins部署vue項目+問題解決部署步驟遇到的問題彙總參考資料

源碼管理輸入項目位址,添加賬戶,選擇分支

Jenkins部署vue項目+問題解決部署步驟遇到的問題彙總參考資料
Jenkins部署vue項目+問題解決部署步驟遇到的問題彙總參考資料

建構環境選擇剛剛安裝的NodeJS插件

Jenkins部署vue項目+問題解決部署步驟遇到的問題彙總參考資料

構件 -> 增加構件步驟 -> 執行shell

Jenkins部署vue項目+問題解決部署步驟遇到的問題彙總參考資料

shell腳本依據環境和項目自行編寫,大緻思路是進/root/.jenkins/jobs/下目前任務的workspace執行打包,進dist目錄壓縮為gz檔案,然後在tomcat的webapps目錄下建立一個web檔案夾,将gz檔案移動過來并解壓縮,最後啟動tomcat

注意:如果在腳本裡面啟動tomcat,最前面記得加上以下指令防止tomcat被強制關閉

export BUILD_ID=dontKillMe
           

遇到的問題彙總

1.TypeError: compilation.templatesPlugin is not a function

網上的辦法多是說webpack不是最新版,需要删除node_modules,重新安裝,然後安裝最新webpack

npm install
           
npm add [email protected]
           

實際上現在最新的是5.0版本,很多時候版本太高反而不相容,是以需要安裝根據項目安裝指定版本,比如

npm install webpack@^4.0.0
           

注意,該指令需要在wordspace下直接執行,不要全局安裝

2.tomcat已啟動但是無法通路

可能是被防火牆攔截了,可以單獨開放8093端口

firewall-cmd --permanent --zone=public --add-port=8093/tcp
           

重新開機防火牆

firewall-cmd --reload
           

檢視8093端口是否開放

firewall-cmd --zone=public --query-port=8093/tcp
           

3.shutdown.sh無法關閉tomcat

在bin目錄下的catalina.sh檔案最前面加上如下指令

if [ -z "$CATALINA_PID" ]; then
      CATALINA_PID=$PRGDIR/CATALINA_PID
      cat $CATALINA_PID
fi
           

然後修改shutdown.sh的最後一行,增加 -force

參考博文:linux tomcat shutdown.sh 不能正常關閉

如果遇到以下問題,可能是之前的tomcat啟動後沒有關閉,可以強制關閉程序後再行嘗試

4.控制台顯示tomcat啟動成功但是無法通路

腳本前面加上以下指令防止tomcat程序給關閉

export BUILD_ID=dontKillMe
           

5.首頁空白

vue.config.js檔案中修改publicPath為相當路徑,即

Jenkins部署vue項目+問題解決部署步驟遇到的問題彙總參考資料

參考資料

Linux-Jenkins安裝部署

jenkins +git 自動化部署vue項目

Linux 中 Tomcat 啟動成功 但 無法通路 解決方法

繼續閱讀