65 lines
1.8 KiB
Bash
Executable File
65 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
SERVER="root@118.145.218.2"
|
||
REMOTE_DIR="/mnt/data/asset-management/backend"
|
||
LOCAL_DIR="C:/Users/Administrator/asset_management_backend"
|
||
|
||
echo "=========================================="
|
||
echo "资产管理系统后端部署脚本"
|
||
echo "=========================================="
|
||
echo ""
|
||
|
||
# 步骤1:上传代码到服务器
|
||
echo "[步骤1] 上传代码到服务器..."
|
||
echo "正在连接到 $SERVER ..."
|
||
echo "请输入服务器密码 (Yuyx4944@@@)"
|
||
|
||
# 创建远程目录
|
||
ssh $SERVER "mkdir -p $REMOTE_DIR"
|
||
|
||
# 上传代码(排除不必要的文件)
|
||
echo "正在上传文件..."
|
||
rsync -avz --progress \
|
||
--exclude '.git' \
|
||
--exclude '__pycache__' \
|
||
--exclude '*.pyc' \
|
||
--exclude '.pytest_cache' \
|
||
--exclude 'test_*.py' \
|
||
--exclude 'test_reports' \
|
||
--exclude 'logs/*.log' \
|
||
--exclude 'uploads/*' \
|
||
--exclude '.env' \
|
||
--exclude '*.md' \
|
||
--exclude 'start.bat' \
|
||
--exclude 'verify_*.py' \
|
||
$LOCAL_DIR/ $SERVER:$REMOTE_DIR/
|
||
|
||
if [ $? -eq 0 ]; then
|
||
echo "✓ 代码上传成功!"
|
||
else
|
||
echo "✗ 代码上传失败!"
|
||
exit 1
|
||
fi
|
||
|
||
echo ""
|
||
echo "[步骤2] 在服务器上部署应用..."
|
||
echo "请继续在服务器上执行以下命令:"
|
||
echo ""
|
||
echo "ssh $SERVER"
|
||
echo "cd $REMOTE_DIR"
|
||
echo "docker build -t asset-backend ."
|
||
echo "source /mnt/data/asset-management/db_config.sh"
|
||
echo "docker run -d \\"
|
||
echo " --name asset-backend \\"
|
||
echo " --link asset-db:asset-db \\"
|
||
echo " --link asset-redis:asset-redis \\"
|
||
echo " -p 8001:8001 \\"
|
||
echo " -v /mnt/data/asset-management/backend/uploads:/app/uploads \\"
|
||
echo " -v /mnt/data/asset-management/backend/logs:/app/logs \\"
|
||
echo " -e DATABASE_URL=\"postgresql+asyncpg://asset_user:\${DB_PASSWORD}@asset-db:5432/asset_management\" \\"
|
||
echo " -e REDIS_URL=\"redis://:\${REDIS_PASSWORD}@asset-redis:6379/0\" \\"
|
||
echo " --restart unless-stopped \\"
|
||
echo " asset-backend"
|
||
echo ""
|
||
|