使用Jenkins部署VUE專案到windows伺服器_配置Jenkins專案(4)
一、分析準備
接上文,我們的前端程式碼是通過git管理的,需求是通過Jenkins拉取前端VUE程式碼並且編譯生成待部署的部署包。經過分析,我們需要做如下的準備:
1、Jenkins的機器能拉取git程式碼並編譯;——已完成
2、Jenkins的機器能通過SSH連線專案所在的windows server伺服器;——已完成
3、新建Jenkins任務將編譯、部署串起來;——本期目標
PS:專案的情況如下
Jenkins機器 |
1臺,部署在windows機器 |
專案語言 | VUE純前端 |
專案部署伺服器 | 1臺,windows server伺服器 |
二、Jenkins專案配置
新建自由風格的專案
由於專案使用git管理程式碼,這裡進行git相關配置。注意使用最開始配置的全域性憑證,即Jenkins機器生成的私鑰。
構建觸發器請參考註釋按需配置,由於目前我們專案只需要手動觸發構建,這裡就不選了。
由於專案是VUE專案,這裡要配置使用nodejs(前文在Global Tool Configuration中配置)環境進行編譯。(參考https://www.cnblogs.com/chooperman/p/14061469.html)
由於我部署Jenkins服務的機器也是windows的,這裡選擇使用windows命令進行拉取程式碼後的編譯(下圖1)及後續處理(下圖2)。
使用如下命令後,最終會在%WORKSPACE%目錄下,生成dist.tar的壓縮包,後續將其直接放入專案伺服器解壓即可。
附上相關程式碼
call echo 構建_01註冊淘寶映象 call npm config set registry https://registry.npm.taobao.org call echo 構建_02檢查註冊結果 call npm config get registry call echo 構建_03依賴安裝 call npm install call echo 構建_04編譯打包 call npm run build
call echo 構建後處理_01進入dist目錄 call cd dist call echo 構建後處理_02壓縮編譯包 call tar cvf dist.tar *call echo 構建後處理_03壓縮包放入工作目錄 call xcopy /s/y dist.tar %WORKSPACE%
得到上述產物包後,使用Send files or execute commands over SSH命令,選擇配置好的遠端伺服器,按下圖將包傳送到專案伺服器上。
接下來,使用Execute shell script on remote host using ssh命令,選擇專案所在伺服器,進入指定的目錄,執行該目錄下已經提前配置好的bat指令碼,進行產物包挪位置,解壓、刪除等操作。
注意:由於前文提到使用powerShellServer工具連線到遠端伺服器後,其命令列所在的預設的路徑(下圖1),並不是將程式碼包複製過去的路徑(下圖2、圖3),而我們把bat指令碼也放在了程式碼包複製過去預設儲存的路徑,因此要注意切換到對應目錄執行bat指令碼。
然後說明下bat指令碼的主要作用,主要是將產物包從臨時目錄複製到專案部署所需目錄,然後進入該目錄對其進行解壓,解壓後刪除廢棄的產物包。這裡暫時沒有對原始碼包進行備份等操作,各位按需進行。
上述所有內容配置完後,儲存即可。
接下來進行除錯看看,由於前面準備工作比較到位,檢視控制檯輸出發現一次成功了。
最後,建議直接訪問專案的web地址,通過實際的功能介面確認下程式碼是否已部署最新的了。
好了,經過這些天的除錯,終於能使用Jenkins部署程式碼到windows server伺服器了。總結下來,耽誤比較多精力的是
1、專案伺服器是阿里雲,一開始不清楚沒有及時找管理員開放ssh埠導致除錯耽誤很長時間;
2、在ssh工具的選擇上,花費了很多時間,最終僅使用powershellServer成功了;
3、Jenkins部署所在機器各類環境的安裝,nodejs、git等等;
還是linux好用點,哈哈哈~