chore: 更新前端部署流程,设置构建输出目录为 production,并调整文件传输路径以匹配新结构
This commit is contained in:
1 parent
65dc1861da
commit
a4313ef770
1 file changed
+12
-6
@@ -50,6 +50,8 @@ jobs:
|
|||||||
- name: Type check and build
|
- name: Type check and build
|
||||||
run: |
|
run: |
|
||||||
cd frontend
|
cd frontend
|
||||||
|
# 设置构建输出目录为 production
|
||||||
|
export VITE_OUTDIR=production
|
||||||
# 并行执行类型检查和构建以节省时间
|
# 并行执行类型检查和构建以节省时间
|
||||||
npm run type-check &
|
npm run type-check &
|
||||||
npm run build:prod &
|
npm run build:prod &
|
||||||
@@ -68,7 +70,7 @@ jobs:
|
|||||||
port: 22
|
port: 22
|
||||||
script: |
|
script: |
|
||||||
sudo rm -rf /home/pi/lm-www/frontend_tmp
|
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
|
sudo chown -R pi:pi /home/pi/lm-www/frontend_tmp
|
||||||
|
|
||||||
# 安装 rsync(用于带进度显示的文件传输)
|
# 安装 rsync(用于带进度显示的文件传输)
|
||||||
@@ -94,7 +96,7 @@ jobs:
|
|||||||
sshpass -p "${{ secrets.PASS_PI }}" rsync -avz --info=progress2 \
|
sshpass -p "${{ secrets.PASS_PI }}" rsync -avz --info=progress2 \
|
||||||
-e "ssh -o StrictHostKeyChecking=no" \
|
-e "ssh -o StrictHostKeyChecking=no" \
|
||||||
frontend/production/ \
|
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=$!
|
RSYNC_PID=$!
|
||||||
|
|
||||||
# 每10秒显示一次进度
|
# 每10秒显示一次进度
|
||||||
@@ -103,10 +105,10 @@ jobs:
|
|||||||
|
|
||||||
while kill -0 $RSYNC_PID 2>/dev/null; do
|
while kill -0 $RSYNC_PID 2>/dev/null; do
|
||||||
sleep 10
|
sleep 10
|
||||||
# 通过SSH检查目标目录大小
|
# 通过SSH检查目标目录大小
|
||||||
TRANSFERRED=$(sshpass -p "${{ secrets.PASS_PI }}" ssh -o StrictHostKeyChecking=no \
|
TRANSFERRED=$(sshpass -p "${{ secrets.PASS_PI }}" ssh -o StrictHostKeyChecking=no \
|
||||||
pi@${{ secrets.HOST_PI }} \
|
pi@${{ secrets.HOST_PI }} \
|
||||||
"du -sb /home/pi/lm-www/frontend_tmp 2>/dev/null | cut -f1" || echo "0")
|
"du -sb /home/pi/lm-www/frontend_tmp/production 2>/dev/null | cut -f1" || echo "0")
|
||||||
|
|
||||||
if [ "$TRANSFERRED" != "0" ] && [ "$TOTAL_SIZE" != "0" ]; then
|
if [ "$TRANSFERRED" != "0" ] && [ "$TOTAL_SIZE" != "0" ]; then
|
||||||
PERCENT=$((TRANSFERRED * 100 / TOTAL_SIZE))
|
PERCENT=$((TRANSFERRED * 100 / TOTAL_SIZE))
|
||||||
@@ -155,6 +157,10 @@ jobs:
|
|||||||
sudo chmod -R 644 /home/pi/lm-www/frontend/
|
sudo chmod -R 644 /home/pi/lm-www/frontend/
|
||||||
sudo find /home/pi/lm-www/frontend/ -type d -exec chmod 755 {} \;
|
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..."
|
echo "Reloading nginx..."
|
||||||
sudo systemctl reload nginx
|
sudo systemctl reload nginx
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user