Jenkins配置前端自動打包部署全過程(若依項目)


前提說明:三臺服務器: gitlab 一臺 jenkins一臺 項目服務器
一、新建項目
創(chuàng)建一個 Freestyle Project

二、拉取 github 代碼
點擊 新建 Item 創(chuàng)建一個 Freestyle Project

在配置頁面-->General,勾選[丟棄舊的構建],填寫保存的構建天數(shù)和構建的最大個數(shù)


在 源碼管理 處選擇 git ,輸入倉庫地址,點擊添加。

三、build 打包

Execute shell里寫腳本,對前端代碼進行打包壓縮具體代碼如下:
# 安裝npm依賴并構建項目 npm --registry https://registry.npmmirror.com install # 構建測試環(huán)境 npm run build:stage
腳本解釋與寫法總結:
1.我看很多博客 這里寫很多,對于初學者 ,可能摸不到頭腦,我該怎么寫,才能自動構建到測試環(huán)境。
2.buid steps:構建步驟,也就是構建環(huán)境配置、打包進行處理。
首先前端打包問題。
Q:jenkins 從gitlab服務拉取的代碼在哪里打包吶?
A:拉取的代碼在這目錄下 /var/lib/jenkins/workspace/

在jenkins控制臺查看

,代碼有了,jenkins打包,但你得安裝nodejs吧 安裝npm 安裝依賴吧,比如你的寫下面這寫
安裝依賴 npm install # 建議不要直接使用 cnpm 安裝依賴,會有各種詭異的 bug??梢酝ㄟ^如下操作解決 npm 下載速度慢的問題 npm install --registry=https://registry.npmmirror.com
然后打包,構建測試環(huán)境。使用下面命令
# 構建測試環(huán)境 npm run build:stage
前端打包完,會生成一個dist文件夾

好了。這就打包好了。也相當于buid 好了。
接下來,我的把這個dist文件夾發(fā)送到另一臺測試環(huán)境服務器。
四、部署到測試服務器
在真實的開發(fā)場景中,
Jenkins幾乎不會和前端資源放到一個服務器。大多數(shù)情況下Jenkins所處的服務器環(huán)境就是一個工具用的服務器,放置了一些公司中常用的工具。因此構建到指定的服務器也至關重要。
1、安裝發(fā)送到遠程插件
系統(tǒng)管理 -> 插件管理 搜索 Publish Over SSH 進行安裝。

Send build artifacts over SSH

選項解釋:
Source files:要上傳到目標服務器的文件。它是一個相對路徑,相對于 Jenkins 的工作目錄 由于上面的 build 打包后 ,在工作目錄中生成一個dist文件夾,所以這里寫相對路徑 **/dist/**寫法 說明 /dist/* 一個*代表 匹配dist文件夾所以文件,但是dist文件夾下面的static文件夾不會部署到測試服務器(不這樣寫) /dist/** 2個* 能把dist文件夾下的所有文件夾和文件都能部署到測試服務器(我這樣寫的) Remove prefix:移除的路徑,這里移除 dist 路徑比如:這里寫 dist/ 表示:我只部署dist文件夾中static 部分內(nèi)容,我肯定要把dist文件夾去掉,只在測試服務器顯示static文件,這就用到這個選項了。 Remote directory:發(fā)送到的服務端路徑(這里填目標服務器發(fā)送文件夾的目標路徑)1.這里不填:
表示你在系統(tǒng)設置中,也有這個插件,已經(jīng)設置過了。
例如:我在系統(tǒng)設置中設置了 /opt/ruoyi 這里就不要設置了。
你如果在設置目標路徑,會重復,也就是把dist發(fā)送到 /opt/ruoyi/opt/ruoyi/dist 子文件家中了,純屬套娃了。
Exec command:發(fā)送成功后執(zhí)行的命令(選填)

部署方式:(我就測試2種寫法)
1.把整個前端dist文件夾都部署上傳到測試服務器 。我這樣寫 :就把整個dist源文件夾發(fā)送到測試服務器就行,其他不寫。

2.把部分前端dist文件夾中static文件和其他文件部署上傳到測試服務器 。(比較實用)

如圖:

說明:
Source files寫法規(guī)則介紹:Ant User Manual Directory-based Tasks
為了使事情更加靈活,我們添加了一個額外的功能,這使得匹配多個目錄級別成為可能。這可用于匹配完整的目錄樹,或目錄樹中任何位置的文件。
為此,
**必須將用作目錄的名稱。當
**在模式中將用作目錄的名稱時,它將匹配零個或多個目錄。例如:
/test/**匹配 下的所有文件/目錄/test/,例如/test/x.java、 或/test/foo/bar/xyz.html,但不匹配/xyz.xml。有一種“簡寫”——如果模式以
/或結尾\,則**附加 。例如,
mypackage/test/被解釋為mypackage/test/**

五、控制臺看構建是否成功


總結
到此這篇關于Jenkins配置前端自動打包部署(若依項目)的文章就介紹到這了,更多相關Jenkins配置前端自動打包部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
java servlet結合Oracle搭建java的web開發(fā)環(huán)境
今天我將與大家分享一下我學JAVA WEB寫的一些小實例 ,我個人是不太喜歡書本上的晦澀的概念的,所以我花了更多的時間在一些應用實例上,我覺得這樣的學習方式很適合我,由簡到繁,由淺入深2015-12-12
Java郵件發(fā)送超時時間過長問題的優(yōu)化方案
郵件發(fā)送是許多Java應用中常見的功能,尤其在用戶注冊、密碼重置和系統(tǒng)通知中,對于一個高并發(fā)的系統(tǒng)來說,郵件發(fā)送的超時問題可能導致應用性能的下降,甚至影響用戶體驗,因此,本期我們將討論Java郵件發(fā)送超時時間過長 的問題,并深入探討其成因和優(yōu)化策略2025-06-06

