1. 程式人生 > 實用技巧 >使用Jenkins部署VUE專案到windows伺服器_配置Jenkins專案(4)

使用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好用點,哈哈哈~