diff --git a/pull-and-restart.sh b/pull-and-restart.sh deleted file mode 100755 index cd3ccb6..0000000 --- a/pull-and-restart.sh +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env bash -# 拉取代码并重启:检测 Docker 并一键安装(无则安装),再 git pull + docker compose 构建并启动 -# 用法:cd 项目根 && chmod +x pull-and-restart.sh && ./pull-and-restart.sh -# 行尾:LF -set -e -ROOT="${PROJECT_ROOT:-$(cd "$(dirname "$0")" && pwd)}" -cd "$ROOT" - -# 需要 sudo 时直接调用(会提示输入密码) -run_sudo() { sudo "$@"; } - -# ---------- 检测并安装 Docker ---------- -ensure_docker() { - if command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1; then - echo "Docker 已就绪." - return 0 - fi - echo "未检测到 Docker 或未启动,正在安装..." - if command -v apt-get >/dev/null 2>&1; then - run_sudo apt-get update -qq - run_sudo apt-get install -y docker.io docker-compose-plugin 2>/dev/null || run_sudo apt-get install -y docker.io docker-compose - run_sudo systemctl start docker - run_sudo systemctl enable docker - elif command -v dnf >/dev/null 2>&1 || command -v yum >/dev/null 2>&1; then - if command -v dnf >/dev/null 2>&1; then - run_sudo dnf install -y docker docker-compose-plugin 2>/dev/null || run_sudo dnf install -y docker docker-compose - else - run_sudo yum install -y docker docker-compose-plugin 2>/dev/null || run_sudo yum install -y docker docker-compose - fi - run_sudo systemctl start docker - run_sudo systemctl enable docker - else - echo "无法自动安装 Docker,请先安装 Docker 与 Docker Compose 后重试." - exit 1 - fi - echo "Docker 安装完成." -} - -ensure_docker -# 本脚本内统一用 sudo 执行 docker(避免权限问题) -docker_cmd() { run_sudo docker "$@"; } -compose_cmd() { run_sudo docker compose "$@" 2>/dev/null || run_sudo docker-compose "$@"; } - -echo "==========================================" -echo " yh_web 拉取并重启" -echo " 路径: $ROOT" -echo "==========================================" - -[ -f server/.env ] && sed -i 's/\r$//' server/.env -[ -f server/.env ] && set -a && source server/.env && set +a - -echo "[1/2] 拉取代码..." -if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then - git pull -else - echo "未检测到 Git 仓库,正在克隆(需设置 GIT_REPO_URL,例:export GIT_REPO_URL='https://用户:Token@gitea.../web.git')..." - export GIT_TERMINAL_PROMPT=0 - REPO_URL="${GIT_REPO_URL:-}" - BRANCH="${GIT_BRANCH:-master}" - if [ -z "$REPO_URL" ]; then - echo "错误:请设置环境变量 GIT_REPO_URL 后重试." - exit 1 - fi - SELF="$(basename "$0")" - tmp_backup="/tmp/yh_web_deploy_$$" - mkdir -p "$tmp_backup" - [ -f "$SELF" ] && cp -a "$SELF" "$tmp_backup/" - [ -f server/.env ] && cp -a server/.env "$tmp_backup/" 2>/dev/null || true - git init -b "$BRANCH" - git remote add origin "$REPO_URL" - git fetch origin --progress - git reset --hard "origin/$BRANCH" - [ -f "$tmp_backup/$SELF" ] && cp -a "$tmp_backup/$SELF" "$SELF" && chmod +x "$SELF" - [ -f "$tmp_backup/.env" ] && mkdir -p server && cp -a "$tmp_backup/.env" server/.env - rm -rf "$tmp_backup" -fi - -echo "" -echo "[2/2] 重新构建并启动..." -export GOPROXY="${GOPROXY:-https://goproxy.cn,direct}" -compose_cmd build --no-cache -compose_cmd up -d --force-recreate - -echo "" -echo "完成. api:9527 web:9528 admin:9529" diff --git a/restart.sh b/restart.sh deleted file mode 100755 index 89a2a77..0000000 --- a/restart.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash -# 直接重启:检测 Docker 并一键安装(无则安装),再 docker compose 重启,不拉代码 -# 用法:cd 项目根 && chmod +x restart.sh && ./restart.sh -# 行尾:LF -set -e -ROOT="${PROJECT_ROOT:-$(cd "$(dirname "$0")" && pwd)}" -cd "$ROOT" - -run_sudo() { sudo "$@"; } - -# ---------- 检测并安装 Docker ---------- -ensure_docker() { - if command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1; then - echo "Docker 已就绪." - return 0 - fi - echo "未检测到 Docker 或未启动,正在安装..." - if command -v apt-get >/dev/null 2>&1; then - run_sudo apt-get update -qq - run_sudo apt-get install -y docker.io docker-compose-plugin 2>/dev/null || run_sudo apt-get install -y docker.io docker-compose - run_sudo systemctl start docker - run_sudo systemctl enable docker - elif command -v dnf >/dev/null 2>&1 || command -v yum >/dev/null 2>&1; then - if command -v dnf >/dev/null 2>&1; then - run_sudo dnf install -y docker docker-compose-plugin 2>/dev/null || run_sudo dnf install -y docker docker-compose - else - run_sudo yum install -y docker docker-compose-plugin 2>/dev/null || run_sudo yum install -y docker docker-compose - fi - run_sudo systemctl start docker - run_sudo systemctl enable docker - else - echo "无法自动安装 Docker,请先安装 Docker 与 Docker Compose 后重试." - exit 1 - fi - echo "Docker 安装完成." -} - -ensure_docker -compose_cmd() { run_sudo docker compose "$@" 2>/dev/null || run_sudo docker-compose "$@"; } - -echo "重启 yh_web ($ROOT)..." -[ -f server/.env ] && sed -i 's/\r$//' server/.env -[ -f server/.env ] && set -a && source server/.env && set +a - -compose_cmd down 2>/dev/null || true -compose_cmd up -d - -echo "完成. api:9527 web:9528 admin:9529"