修复虎牙手机号登录并统一部署项目名
This commit is contained in:
@@ -13,6 +13,21 @@ if [ -f "$ROOT_DIR/.env" ]; then
|
||||
set +a
|
||||
fi
|
||||
|
||||
# 使用新的项目标识;可通过环境变量覆盖。
|
||||
COMPOSE_PROJECT_NAME="${COMPOSE_PROJECT_NAME:-live-hub-py}"
|
||||
export COMPOSE_PROJECT_NAME
|
||||
|
||||
# 迁移期间优先复用旧项目卷,避免目录改名导致创建空数据库。
|
||||
MYSQL_VOLUME_NAME="${MYSQL_VOLUME_NAME:-}"
|
||||
MYSQL_VOLUME_EXTERNAL="${MYSQL_VOLUME_EXTERNAL:-false}"
|
||||
if [ -z "$MYSQL_VOLUME_NAME" ] && command -v docker >/dev/null 2>&1 \
|
||||
&& docker volume inspect douyu_login_py_mysql-data >/dev/null 2>&1; then
|
||||
MYSQL_VOLUME_NAME="douyu_login_py_mysql-data"
|
||||
MYSQL_VOLUME_EXTERNAL="true"
|
||||
fi
|
||||
export MYSQL_VOLUME_NAME
|
||||
export MYSQL_VOLUME_EXTERNAL
|
||||
|
||||
APP_PORT="${APP_PORT:-8000}"
|
||||
|
||||
# ── 工具函数 ──────────────────────────────────────────────
|
||||
@@ -27,6 +42,20 @@ detect_compose() {
|
||||
fi
|
||||
}
|
||||
|
||||
stop_legacy_containers() {
|
||||
local name project
|
||||
for name in douyu-login-db douyu-login; do
|
||||
if ! docker inspect "$name" >/dev/null 2>&1; then
|
||||
continue
|
||||
fi
|
||||
project="$(docker inspect "$name" --format '{{index .Config.Labels "com.docker.compose.project"}}' 2>/dev/null || true)"
|
||||
if [ -n "$project" ] && [ "$project" != "$COMPOSE_PROJECT_NAME" ]; then
|
||||
echo "停止旧 Compose 项目容器: $name (项目 $project)"
|
||||
docker stop "$name" >/dev/null
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# ── 子命令 ──────────────────────────────────────────────
|
||||
|
||||
cmd_deploy() {
|
||||
@@ -65,6 +94,7 @@ cmd_deploy() {
|
||||
|
||||
# 构建并启动
|
||||
echo "正在构建应用镜像(首次构建约3-5分钟)..."
|
||||
stop_legacy_containers
|
||||
# 生产部署不构建含大型开发依赖的 test 镜像;测试镜像仅在本地按需构建。
|
||||
$COMPOSE build douyu-login
|
||||
|
||||
@@ -190,6 +220,7 @@ cmd_migrate_mysql() {
|
||||
fi
|
||||
|
||||
echo "正在启动 MySQL..."
|
||||
stop_legacy_containers
|
||||
$COMPOSE up -d mysql
|
||||
|
||||
echo "等待 MySQL 就绪..."
|
||||
@@ -222,6 +253,7 @@ cmd_migrate() {
|
||||
fi
|
||||
|
||||
echo "正在启动 MySQL..."
|
||||
stop_legacy_containers
|
||||
$COMPOSE up -d mysql
|
||||
|
||||
echo "等待 MySQL 就绪..."
|
||||
@@ -261,6 +293,7 @@ cmd_restart() {
|
||||
echo "❌ 未检测到 docker compose"
|
||||
exit 1
|
||||
fi
|
||||
stop_legacy_containers
|
||||
# 重建镜像和应用容器,使新迁移文件与入口迁移逻辑都能生效。
|
||||
$COMPOSE up -d --build --force-recreate douyu-login
|
||||
echo "✅ 服务已重建并重启(已自动检查数据库迁移)"
|
||||
|
||||
Reference in New Issue
Block a user