game/deploy_server.sh
李鹏宇 c6ccc1d50b deploy: 后端模块+前端网站更新,统一线上库名为 game
- game_base: 新增 game.page/page.item 模型(page.py),密码策略加严(>=8位且含字母+数字)
- yt_world: create 改 create_multi;权限扩至 public/portal/user;新增微观世界/资源视图与菜单
- 前端: website/auth/index 等 ?db=yt_game 统一改为 ?db=game(线上库名)
- 新增 deploy_server.sh 一键部署脚本
2026-07-24 10:00:51 +08:00

41 lines
1.7 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.

#!/usr/bin/env bash
# 宇森游戏 · 线上服务器一键更新(请在 81.70.146.51 上执行)
# 用法sudo bash deploy_server.sh
set -e
# ===== 按实际情况修改这几个变量 =====
REPO_DIR="/opt/yuthon/game" # git 仓库目录(含 world.html 与 addons/
ODOO_CONF="/etc/odoo/odoo.conf" # odoo.conf 路径
ODOO_DB="game" # 线上数据库名(务必与前端 ?db= 一致)
ODOO_SERVICE="odoo" # systemctl 服务名
ODOO_BIN="/usr/bin/odoo" # odoo-bin 路径(或 which odoo
# ===================================
echo "== [1/5] 拉取最新代码 =="
cd "$REPO_DIR"
git pull --ff-only origin main
echo "== [2/5] 钉死 odoo.conf 数据库 =="
if grep -q "^[[:space:]]*db_name" "$ODOO_CONF"; then
sed -i "s/^[[:space:]]*db_name.*/db_name = $ODOO_DB/" "$ODOO_CONF"
else
echo "db_name = $ODOO_DB" >> "$ODOO_CONF"
fi
if ! grep -q "^[[:space:]]*dbfilter" "$ODOO_CONF"; then
echo "dbfilter = ^$ODOO_DB\$" >> "$ODOO_CONF"
fi
echo "当前 db_name=$(grep '^db_name' "$ODOO_CONF")"
echo "== [3/5] 升级模块(数据库 $ODOO_DB=="
"$ODOO_BIN" -c "$ODOO_CONF" -d "$ODOO_DB" -u game_base,yt_world --stop-after-init
# 若模块从未安装过,把上行的 -u 改成 -i 执行一次即可
echo "== [4/5] 重启 Odoo =="
systemctl restart "$ODOO_SERVICE"
sleep 3
systemctl is-active "$ODOO_SERVICE" || { echo "Odoo 未起来,检查: journalctl -u $ODOO_SERVICE -n 50"; exit 1; }
echo "== [5/5] 冒烟验证 =="
curl -s -o /dev/null -w "codex 接口 HTTP %{http_code}\n" "https://game.pengyuthon.cn/game/api/codex?db=game"
echo "完成。前端为静态文件nginx 指向 $REPO_DIR 即可,无需构建。"