63 lines
1.3 KiB
Bash
63 lines
1.3 KiB
Bash
#!/bin/bash
|
||
|
||
cd /root/youyidian-3d
|
||
|
||
echo "========================================="
|
||
echo "开始更新部署"
|
||
echo "========================================="
|
||
|
||
# 备份上传文件
|
||
if [ -d "uploads" ]; then
|
||
mkdir -p backups
|
||
echo "备份上传文件..."
|
||
cp -r uploads backups/uploads-$(date +%Y%m%d-%H%M%S) 2>/dev/null || true
|
||
fi
|
||
|
||
# 解压新版本
|
||
echo "解压新版本..."
|
||
tar -xzf /root/project-deploy.tar.gz
|
||
rm /root/project-deploy.tar.gz
|
||
|
||
# 恢复上传目录
|
||
if [ -d "backups" ]; then
|
||
latest=$(ls -td backups/uploads-* 2>/dev/null | head -1)
|
||
if [ -n "$latest" ]; then
|
||
echo "恢复上传文件..."
|
||
mkdir -p uploads
|
||
cp -r "$latest"/* uploads/ 2>/dev/null || true
|
||
fi
|
||
fi
|
||
|
||
# 设置权限
|
||
mkdir -p uploads
|
||
chmod -R 777 uploads
|
||
|
||
# 停止旧容器
|
||
echo "停止旧容器..."
|
||
docker compose down
|
||
|
||
# 启动新容器
|
||
echo "启动新容器..."
|
||
docker compose up -d
|
||
|
||
# 等待启动
|
||
echo "等待容器启动..."
|
||
sleep 15
|
||
|
||
# 查看状态
|
||
echo ""
|
||
echo "========================================="
|
||
echo "部署完成!容器状态:"
|
||
echo "========================================="
|
||
docker ps | grep youyidian
|
||
|
||
echo ""
|
||
echo "应用日志(最后20行):"
|
||
docker logs --tail=20 youyidian-3d-material
|
||
|
||
echo ""
|
||
echo "========================================="
|
||
echo "完成!"
|
||
echo "========================================="
|
||
|