ebac0c8452
- 后端代码在 server/ 目录(Git 仓库)
- docker-compose 在 deploy/ 目录
- 部署脚本路径更新
- 部署文档更新
目录结构:
/opt/1panel/www/sites/uniservice-mobile.hnxinyouhe.com/index/
├── index.html # 前端入口
├── assets/ # 前端静态资源
└── server/ # 整个项目(Git)
├── backend/
├── deploy/
└── logs/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
91 lines
2.0 KiB
Bash
91 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# X-Server Mobile 后端部署脚本(服务器端)
|
|
# 位置: server/deploy.sh
|
|
# 使用方法: ./deploy.sh
|
|
|
|
set -e
|
|
|
|
# 颜色输出
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
log_info() {
|
|
echo -e "${GREEN}[INFO]${NC} $1"
|
|
}
|
|
|
|
log_warn() {
|
|
echo -e "${YELLOW}[WARN]${NC} $1"
|
|
}
|
|
|
|
log_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
log_step() {
|
|
echo -e "${BLUE}==>${NC} $1"
|
|
}
|
|
|
|
# 项目目录(server 目录)
|
|
PROJECT_DIR="/opt/1panel/www/sites/uniservice-mobile.hnxinyouhe.com/index/server"
|
|
cd "$PROJECT_DIR"
|
|
|
|
echo "=========================================="
|
|
echo " X-Server Mobile 后端部署"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "项目目录: $PROJECT_DIR"
|
|
echo ""
|
|
|
|
# ============================================
|
|
# 1. 拉取最新代码
|
|
# ============================================
|
|
log_step "拉取最新代码..."
|
|
|
|
git pull origin master
|
|
|
|
log_info "代码已更新"
|
|
|
|
# ============================================
|
|
# 2. 重启后端容器
|
|
# ============================================
|
|
log_step "重启后端容器..."
|
|
|
|
if [ ! -f "deploy/docker-compose.prod.yml" ]; then
|
|
log_error "deploy/docker-compose.prod.yml 不存在"
|
|
exit 1
|
|
fi
|
|
|
|
# 加载环境变量
|
|
if [ -f "deploy/.env.production" ]; then
|
|
export $(cat deploy/.env.production | grep -v '^#' | xargs)
|
|
fi
|
|
|
|
# 重启容器
|
|
docker-compose -f deploy/docker-compose.prod.yml down 2>/dev/null || true
|
|
docker-compose -f deploy/docker-compose.prod.yml up -d
|
|
|
|
log_info "后端容器已重启"
|
|
|
|
# ============================================
|
|
# 3. 显示容器状态
|
|
# ============================================
|
|
echo ""
|
|
log_step "容器状态"
|
|
echo ""
|
|
docker ps | grep x-server || log_warn "未找到运行中的容器"
|
|
echo ""
|
|
|
|
# ============================================
|
|
# 4. 完成
|
|
# ============================================
|
|
log_info "后端部署完成!"
|
|
echo ""
|
|
echo "访问地址: https://uniservice-mobile.hnxinyouhe.com"
|
|
echo ""
|
|
echo "查看后端日志:"
|
|
echo " docker logs -f x-server-backend-prod"
|
|
echo ""
|