chore: 更新前端部署流程,设置构建输出目录为 production,并调整文件传输路径以匹配新结构

This commit is contained in:
wood911010 committed 2025-11-22 02:08:11 +08:00
1 parent 65dc1861da
commit a4313ef770
1 file changed
+12 -6
+12 -6
View File
@@ -50,6 +50,8 @@ jobs:
- name: Type check and build
run: |
cd frontend
# 设置构建输出目录为 production
export VITE_OUTDIR=production
# 并行执行类型检查和构建以节省时间
npm run type-check &
npm run build:prod &
@@ -68,7 +70,7 @@ jobs:
port: 22
script: |
sudo rm -rf /home/pi/lm-www/frontend_tmp
sudo mkdir -p /home/pi/lm-www/frontend_tmp
sudo mkdir -p /home/pi/lm-www/frontend_tmp/production
sudo chown -R pi:pi /home/pi/lm-www/frontend_tmp
# 安装 rsync(用于带进度显示的文件传输)
@@ -94,7 +96,7 @@ jobs:
sshpass -p "${{ secrets.PASS_PI }}" rsync -avz --info=progress2 \
-e "ssh -o StrictHostKeyChecking=no" \
frontend/production/ \
pi@${{ secrets.HOST_PI }}:/home/pi/lm-www/frontend_tmp/ > /tmp/rsync.log 2>&1 &
pi@${{ secrets.HOST_PI }}:/home/pi/lm-www/frontend_tmp/production/ > /tmp/rsync.log 2>&1 &
RSYNC_PID=$!
# 每10秒显示一次进度
@@ -103,10 +105,10 @@ jobs:
while kill -0 $RSYNC_PID 2>/dev/null; do
sleep 10
# 通过SSH检查目标目录大小
TRANSFERRED=$(sshpass -p "${{ secrets.PASS_PI }}" ssh -o StrictHostKeyChecking=no \
pi@${{ secrets.HOST_PI }} \
"du -sb /home/pi/lm-www/frontend_tmp 2>/dev/null | cut -f1" || echo "0")
# 通过SSH检查目标目录大小
TRANSFERRED=$(sshpass -p "${{ secrets.PASS_PI }}" ssh -o StrictHostKeyChecking=no \
pi@${{ secrets.HOST_PI }} \
"du -sb /home/pi/lm-www/frontend_tmp/production 2>/dev/null | cut -f1" || echo "0")
if [ "$TRANSFERRED" != "0" ] && [ "$TOTAL_SIZE" != "0" ]; then
PERCENT=$((TRANSFERRED * 100 / TOTAL_SIZE))
@@ -155,6 +157,10 @@ jobs:
sudo chmod -R 644 /home/pi/lm-www/frontend/
sudo find /home/pi/lm-www/frontend/ -type d -exec chmod 755 {} \;
echo "Verifying deployment structure..."
ls -la /home/pi/lm-www/frontend/
ls -la /home/pi/lm-www/frontend/production/ || echo "Warning: production directory not found"
echo "Reloading nginx..."
sudo systemctl reload nginx