【CI/CD】使用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好用點,哈哈哈~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM