一些检测仍在等待运行
Docs Build / build-and-deploy (push) Waiting to run
- 移除 ConfigManager 配置管理器类 - 移除 GameManager 全局单例管理器类 - 移除 NetworkManager 网络连接管理器类 - 移除 CharacterData 和 ItemData 数据模型类 - 移除 BagScene、BattleScene、LobbyScene 等场景脚本 - 移除 EncounterBubble 和 EventFeedPanel UI组件脚本 - 更新代理邀请文档中的服务器连接方式 - 更新同步状态表格中的代理任务分配信息 - 添加 MiMo 任务完成总结和审查修复记录
146 行
3.9 KiB
Bash
146 行
3.9 KiB
Bash
#!/bin/bash
|
||
# 洪荒大陆 - WSL 部署脚本
|
||
# 目标机器:win.xuqinmin.com (WSL2 Ubuntu)
|
||
# 用法:从本地执行 ssh -i ~/.ssh/id_ed25519 -p 2224 xuqm@win.xuqinmin.com 'bash -s' < scripts/deploy-wsl.sh
|
||
|
||
set -e
|
||
|
||
echo "=========================================="
|
||
echo " 洪荒大陆 - WSL 部署脚本"
|
||
echo "=========================================="
|
||
|
||
# 1. 检查环境
|
||
echo ""
|
||
echo "[1/6] 检查环境..."
|
||
echo " 系统: $(uname -s) $(uname -m)"
|
||
echo " 内存: $(free -h | awk '/Mem:/ {print $7}') 可用"
|
||
echo " 磁盘: $(df -h / | awk 'NR==2 {print $4}') 可用"
|
||
|
||
# 2. 安装 Go(如果未安装)
|
||
echo ""
|
||
echo "[2/6] 检查 Go..."
|
||
if command -v go &> /dev/null; then
|
||
echo " Go 已安装: $(go version)"
|
||
else
|
||
echo " 安装 Go 1.22..."
|
||
wget -q https://go.dev/dl/go1.22.4.linux-amd64.tar.gz -O /tmp/go.tar.gz
|
||
sudo tar -C /usr/local -xzf /tmp/go.tar.gz
|
||
rm /tmp/go.tar.gz
|
||
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
|
||
export PATH=$PATH:/usr/local/go/bin
|
||
echo " Go 安装完成: $(go version)"
|
||
fi
|
||
|
||
# 3. 克隆代码(如果不存在)
|
||
echo ""
|
||
echo "[3/6] 检查代码..."
|
||
DEPLOY_DIR="$HOME/lawless"
|
||
if [ -d "$DEPLOY_DIR" ]; then
|
||
echo " 代码目录已存在: $DEPLOY_DIR"
|
||
cd "$DEPLOY_DIR"
|
||
git pull origin main 2>/dev/null || echo " 跳过 git pull(可能未配置远程)"
|
||
else
|
||
echo " 克隆代码到 $DEPLOY_DIR..."
|
||
# TODO: 替换为实际的 git 仓库地址
|
||
# git clone https://xuqinmin.com/xxx/lawless.git "$DEPLOY_DIR"
|
||
echo " 请手动克隆代码到 $DEPLOY_DIR"
|
||
echo " 命令: git clone <仓库地址> $DEPLOY_DIR"
|
||
exit 1
|
||
fi
|
||
|
||
# 4. 配置环境变量
|
||
echo ""
|
||
echo "[4/6] 配置环境变量..."
|
||
if [ ! -f .env ]; then
|
||
cat > .env << 'EOF'
|
||
# 数据库配置
|
||
DATABASE_URL=postgres://postgres:postgres@localhost:5432/honghuang?sslmode=disable
|
||
|
||
# Nakama 配置
|
||
NAKAMA_SERVER_KEY=defaultkey
|
||
NAKAMA_SECRET=mysecretkey
|
||
|
||
# Redis/Valkey 配置
|
||
REDIS_URL=redis://localhost:6379
|
||
|
||
# Nacos 配置
|
||
NACOS_SERVER_ADDR=localhost:8848
|
||
NACOS_NAMESPACE=dev
|
||
|
||
# 环境标识
|
||
ENV=development
|
||
EOF
|
||
echo " .env 文件已创建"
|
||
else
|
||
echo " .env 文件已存在"
|
||
fi
|
||
|
||
# 5. 启动 Docker 服务
|
||
echo ""
|
||
echo "[5/6] 启动 Docker 服务..."
|
||
cd "$DEPLOY_DIR"
|
||
|
||
# 检查 docker-compose.yml 是否存在
|
||
if [ ! -f docker-compose.yml ]; then
|
||
echo " 错误: docker-compose.yml 不存在"
|
||
exit 1
|
||
fi
|
||
|
||
# 启动服务(使用独立的项目名,避免与其他服务冲突)
|
||
docker compose -p lawless -f docker-compose.yml up -d
|
||
|
||
echo " 等待服务启动..."
|
||
sleep 10
|
||
|
||
# 检查服务状态
|
||
echo " 服务状态:"
|
||
docker compose -p lawless ps --format "table {{.Name}}\t{{.Status}}\t{{.Ports}}"
|
||
|
||
# 6. 数据库迁移
|
||
echo ""
|
||
echo "[6/6] 数据库迁移..."
|
||
cd "$DEPLOY_DIR"
|
||
|
||
# 等待 PostgreSQL 就绪
|
||
echo " 等待 PostgreSQL 就绪..."
|
||
for i in {1..30}; do
|
||
if docker compose -p lawless exec -T postgres pg_isready -U postgres 2>/dev/null; then
|
||
echo " PostgreSQL 已就绪"
|
||
break
|
||
fi
|
||
sleep 2
|
||
done
|
||
|
||
# 执行迁移
|
||
if [ -f scripts/migrate.sh ]; then
|
||
echo " 执行数据库迁移..."
|
||
bash scripts/migrate.sh
|
||
fi
|
||
|
||
# 执行 seed
|
||
if [ -f scripts/seed.sh ]; then
|
||
echo " 执行数据填充..."
|
||
bash scripts/seed.sh
|
||
fi
|
||
|
||
echo ""
|
||
echo "=========================================="
|
||
echo " 部署完成!"
|
||
echo "=========================================="
|
||
echo ""
|
||
echo "服务访问地址:"
|
||
echo " PostgreSQL: localhost:5432"
|
||
echo " Valkey: localhost:6379"
|
||
echo " Nakama: localhost:7350 (gRPC) / localhost:7351 (HTTP)"
|
||
echo " Nacos: localhost:8848"
|
||
echo ""
|
||
echo "常用命令:"
|
||
echo " 查看日志: docker compose -p lawless logs -f"
|
||
echo " 停止服务: docker compose -p lawless down"
|
||
echo " 重启服务: docker compose -p lawless restart"
|
||
echo " 构建服务端: cd server && make build"
|
||
echo ""
|
||
echo "外网访问配置:"
|
||
echo " 如需外网访问,请在云服务器 nginx 中添加反代配置"
|
||
echo " 或通过 frp 隧道暴露端口"
|