??部署Jenkins
如何在linux上安裝jenkins可以看上一篇
linux安裝jenkins(詳細(xì)步驟)
??安裝node.js
建議最好跟你本地安裝版本一致,減少?zèng)]有必要的麻煩:node.js官網(wǎng)
可以選擇當(dāng)前版本 可以選擇自己需要的nodejs版本
??上傳到linux并解壓
# 選擇一個(gè)位置存放
cd /usr/local/
# 創(chuàng)建一個(gè)文件夾 并把剛才下載好的壓縮包上傳到對(duì)應(yīng)路徑
mkdir node
# 上傳完成后 解壓文件
tar -xvf node-v18.17.0-linux-x64.tar.xz
# 配置環(huán)境變量
vim /etc/profile
export NODE_HOME=/usr/local/node/node-v18.17.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
# 刷新
source /etc/profile
# 檢查是否配置正確
node -v
npm -v
像我這樣顯示就是沒(méi)有問(wèn)題的了
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-695107.html
??配置Jenkins環(huán)境變量
一定要配置Jenkins環(huán)境變量
不然執(zhí)行腳本npm
命令報(bào)錯(cuò)會(huì)報(bào)npm: command not found
![]()
??jenkins 創(chuàng)建任務(wù)
- 選擇創(chuàng)建一個(gè)任務(wù)
![]()
- 填寫(xiě)項(xiàng)目名稱
設(shè)置一下構(gòu)建歷史保留天數(shù),不然很容易導(dǎo)致磁盤(pán)滿了
![]()
- 填寫(xiě)你的git 地址 并選擇賬號(hào) 并選擇需要的分支
![]()
- 沒(méi)有賬號(hào)的添加 憑證
![]()
- 添加完成之后, 就可以在下拉選里面選了
![]()
- 這里勾選上定位具體錯(cuò)誤
![]()
??部署方式
??第一種 (npm run build)打包的形式
??執(zhí)行腳本 build Steps
# jenkins 拉取代碼存放地址
cd /var/lib/jenkins/workspace/web
npm install --force
npm run build
# ops 為 dist
zip -r ops.zip ops
# nginx 代理路徑地址
cd /data/apps/nginx/html
rm -rf ops
rm -f ops.zip
cp -f /var/lib/jenkins/workspace/web/ops.zip /data/apps/nginx/html
unzip -o ops.zip
# 重啟nginx
docker restart nginx
這種方式用了nginx,需要安裝nginx的小伙伴可以參考這篇https://blog.csdn.net/qq_39017153/article/details/131913012文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-695107.html
??第二種 (npm run test)直接啟動(dòng)的形式
??執(zhí)行腳本 build Steps
- 第一個(gè)腳本
#!/bin/bash
# workspace后面的改成你自己項(xiàng)目文件的位置
cd /var/lib/jenkins/workspace/web
npm install --force
- 第二個(gè)腳本
#!/bin/bash
# 腳本位置 放在那個(gè)位置寫(xiě)那個(gè)
cd /opt/java/web
# 防止jenkins 殺死子線程
export EXEC=./jenkins-web.sh restart
$EXEC stop
sleep 5
BUILD_ID=dontKillMe $EXEC start
??vue jenkins shell 腳本 (jenkins-web.sh)
#!/bin/sh
export path=/var/lib/jenkins/workspace/web
export port=9040
case "$1" in
start)
if(true);then
echo "--------web開(kāi)始啟動(dòng)--------------"
cd $path
nohup npm run test >/dev/null 2>&1 &
pid=`lsof -i:$port|grep "LISTEN"|awk '{print $2}'`
until [ -n "$pid" ]
do
pid=`lsof -i:$port|grep "LISTEN"|awk '{print $2}'`
sleep 3
done
echo "web pid is $pid"
echo "--------web 啟動(dòng)成功--------------"
fi
echo "===startAll success==="
;;
stop)
P_ID=`lsof -i:$port|grep "LISTEN"|awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "===web process not exists or stop success"
else
kill -9 $P_ID
echo "web killed success"
fi
echo "===stopAll success==="
;;
restart)
$0 stop
sleep 2
$0 start
echo "===restartAll success==="
;;
esac
exit 0
??啟動(dòng)
- 直接保存
- 點(diǎn)這里啟動(dòng)即可
- 點(diǎn)構(gòu)建歷史即可查看 控制臺(tái)輸出
到了這里,關(guān)于【Jenkins】部署vue項(xiàng)目(多種方式部署)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!