flnxi-Wu/scripts/deploy/deploy-remote.sh.template
WuYongJie f646b71813
Some checks failed
CI Check / check (push) Has been cancelled
chore: 初始化本地仓库并同步最近改动
2025-11-18 17:50:16 +08:00

47 lines
1.4 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
set -e
cd PROJECT_PATH_PLACEHOLDER
echo "备份上传文件..."
if [ -d "uploads" ]; then
mkdir -p backups
cp -r uploads backups/uploads-$(date +%Y%m%d-%H%M%S) 2>/dev/null || true
fi
echo "解压新版本..."
tar -xzf REMOTE_FILE_NAME_PLACEHOLDER
rm -f REMOTE_FILE_NAME_PLACEHOLDER
echo "恢复上传目录..."
if [ -d "backups" ]; then
latest_backup=$(ls -td backups/uploads-* 2>/dev/null | head -1)
if [ -n "$latest_backup" ] && [ -d "$latest_backup" ]; then
mkdir -p uploads
cp -r "$latest_backup"/* uploads/ 2>/dev/null || true
fi
fi
mkdir -p uploads
chmod -R 777 uploads
echo "停止旧容器..."
docker compose down 2>/dev/null || docker-compose down 2>/dev/null || true
echo "构建并启动新容器(由服务器 Docker 构建)..."
docker compose up -d --build --force-recreate || docker-compose up -d --build --force-recreate
echo "等待容器启动..."
sleep 20
echo "执行数据库迁移..."
if [ -f prisma/schema.prisma ]; then
docker compose exec -T app npx prisma db push --accept-data-loss --schema=/app/prisma/schema.prisma 2>/dev/null || docker-compose exec -T app npx prisma db push --accept-data-loss --schema=/app/prisma/schema.prisma 2>/dev/null || echo "数据库迁移完成或跳过"
fi
echo "查看容器状态..."
docker compose ps || docker-compose ps
echo "查看应用日志(最后50行)..."
docker compose logs app --tail=50 || docker-compose logs app --tail=50