From 0295f7d06dac82c31a74cf0d161b85461aa7db6e Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 16 Apr 2026 22:14:45 +0800 Subject: [PATCH] d --- ...mainCheck_CentOS9一键复制部署与更新文档.md | 40 ++++++++++++------- ...all_mainland_controller_quick.conf.example | 1 - .../install_mainland_controller_quick.sh | 9 ++--- ...install_mainland_worker_quick.conf.example | 1 - .../install_mainland_worker_quick.sh | 9 ++--- .../install_overseas_quick.conf.example | 1 - .../multi-region/install_overseas_quick.sh | 23 ++++++----- 7 files changed, 46 insertions(+), 38 deletions(-) diff --git a/docs/18_domainCheck_CentOS9一键复制部署与更新文档.md b/docs/18_domainCheck_CentOS9一键复制部署与更新文档.md index 468dbe7..7d94c9a 100644 --- a/docs/18_domainCheck_CentOS9一键复制部署与更新文档.md +++ b/docs/18_domainCheck_CentOS9一键复制部署与更新文档.md @@ -13,6 +13,7 @@ - API 域名:`api.domain.com` - 后台域名:`admin.domain` - 分支:默认 `main` +- 脚本约定:所有一键 `.sh` 只做部署,不执行任何 `git` 命令 目标机器: @@ -32,8 +33,6 @@ 正式执行本文命令前,先把下面这些变量替换成你自己的真实值。 ```text -GIT_BRANCH=main - API_DOMAIN=api.domain.com ADMIN_DOMAIN=admin.domain @@ -52,7 +51,7 @@ MAINLAND_CONTROLLER_IP=国内controller机器IP NODE_VERSION=20 ``` -最少必须先替换这 6 个: +最少必须先替换这 5 个: - `DB_PASSWORD` - `SYNC_SHARED_TOKEN` @@ -112,13 +111,12 @@ git pull --ff-only origin main 2. 编辑 `.conf` 3. 执行对应的 `.sh` -如果这台机器已经有仓库目录了,后面再执行脚本时,脚本内部会自动做 `git fetch / checkout / pull`,不需要你每次手动拉代码。 - 关键结论: - 新机器第一次:必须先手动 `git clone` -- 后续执行脚本:不再负责 `clone` -- 脚本只负责“基于已存在仓库做部署或更新” +- 后续每次更新:先手动 `git pull` +- 后续执行脚本:不负责 `clone`,也不负责 `pull` +- 脚本只负责“基于当前仓库代码做部署或更新” ### 3.2 这些命令用哪个用户执行 @@ -245,14 +243,12 @@ Python 3.11.x ### 1. 国外主控机最短复制块 -先把下面 7 个值替换掉再执行: +先把下面 5 个值替换掉再执行: ```text -GIT_BRANCH API_DOMAIN ADMIN_DOMAIN DB_PASSWORD -SYNC_SHARED_TOKEN OVERSEAS_NODE_CODE NODE_VERSION ``` @@ -267,6 +263,12 @@ cp /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_overseas_quick. bash /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_overseas_quick.sh ``` +注意: + +- 这条脚本不会执行 `git fetch` +- 这条脚本不会执行 `git pull` +- 你要先自己把 `/www/wwwroot/getDomain` 更新到目标版本,再跑脚本 + ```bash cd /www/wwwroot/getDomain git fetch --all @@ -345,10 +347,9 @@ curl http://127.0.0.1:8100/api/v1/runtime/readiness ### 2. 国内 controller 最短复制块 -先把下面 4 个值替换掉再执行: +先把下面 3 个值替换掉再执行: ```text -GIT_BRANCH DB_PASSWORD SYNC_SHARED_TOKEN MAINLAND_CONTROLLER_NODE_CODE @@ -364,6 +365,12 @@ cp /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_mainland_contro bash /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_mainland_controller_quick.sh ``` +注意: + +- 这条脚本不会执行 `git fetch` +- 这条脚本不会执行 `git pull` +- 你要先自己把 `/www/wwwroot/getDomain` 更新到目标版本,再跑脚本 + ```bash cd /www/wwwroot/getDomain git fetch --all @@ -437,10 +444,9 @@ bash deploy/multi-region/check_mainland_controller.sh ### 3. 国内 worker 最短复制块 -先把下面 5 个值替换掉再执行: +先把下面 4 个值替换掉再执行: ```text -GIT_BRANCH DB_PASSWORD SYNC_SHARED_TOKEN MAINLAND_WORKER_NODE_CODE @@ -457,6 +463,12 @@ cp /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_mainland_worker bash /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_mainland_worker_quick.sh ``` +注意: + +- 这条脚本不会执行 `git fetch` +- 这条脚本不会执行 `git pull` +- 你要先自己把 `/www/wwwroot/getDomain` 更新到目标版本,再跑脚本 + ```bash cd /www/wwwroot/getDomain git fetch --all diff --git a/domain-api/deploy/multi-region/install_mainland_controller_quick.conf.example b/domain-api/deploy/multi-region/install_mainland_controller_quick.conf.example index 4171ca5..e65d46a 100644 --- a/domain-api/deploy/multi-region/install_mainland_controller_quick.conf.example +++ b/domain-api/deploy/multi-region/install_mainland_controller_quick.conf.example @@ -1,4 +1,3 @@ -GIT_BRANCH="main" DB_NAME="domain" DB_USER="domainuser" DB_PASSWORD="CHANGE_ME_DB_PASSWORD" diff --git a/domain-api/deploy/multi-region/install_mainland_controller_quick.sh b/domain-api/deploy/multi-region/install_mainland_controller_quick.sh index 59a94de..ed94bf2 100755 --- a/domain-api/deploy/multi-region/install_mainland_controller_quick.sh +++ b/domain-api/deploy/multi-region/install_mainland_controller_quick.sh @@ -14,7 +14,6 @@ fi # shellcheck disable=SC1090 source "${CONFIG_FILE}" -: "${GIT_BRANCH:=main}" : "${DB_NAME:=domain}" : "${DB_USER:=domainuser}" : "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}" @@ -39,10 +38,10 @@ if [[ ! -d "${REPO_DIR}/.git" ]]; then echo "全新机器首次部署,必须先手动执行 git clone,把仓库拉到 /www/wwwroot/getDomain" exit 1 fi -cd "${REPO_DIR}" -git fetch --all -git checkout "${GIT_BRANCH}" -git pull --ff-only origin "${GIT_BRANCH}" + +echo "已检测到仓库目录:${REPO_DIR}" +echo "当前脚本不会执行任何 Git 命令。" +echo "如需更新代码,请先手动完成 git pull,再重新执行本脚本。" mkdir -p "${BASE_DIR}" ln -sfn "${REPO_DIR}/domain-api" "${DOMAIN_API_DIR}" diff --git a/domain-api/deploy/multi-region/install_mainland_worker_quick.conf.example b/domain-api/deploy/multi-region/install_mainland_worker_quick.conf.example index 725014c..39b7b8d 100644 --- a/domain-api/deploy/multi-region/install_mainland_worker_quick.conf.example +++ b/domain-api/deploy/multi-region/install_mainland_worker_quick.conf.example @@ -1,4 +1,3 @@ -GIT_BRANCH="main" DB_NAME="domain" DB_USER="domainuser" DB_PASSWORD="CHANGE_ME_DB_PASSWORD" diff --git a/domain-api/deploy/multi-region/install_mainland_worker_quick.sh b/domain-api/deploy/multi-region/install_mainland_worker_quick.sh index 36bbcaa..031463d 100755 --- a/domain-api/deploy/multi-region/install_mainland_worker_quick.sh +++ b/domain-api/deploy/multi-region/install_mainland_worker_quick.sh @@ -14,7 +14,6 @@ fi # shellcheck disable=SC1090 source "${CONFIG_FILE}" -: "${GIT_BRANCH:=main}" : "${DB_NAME:=domain}" : "${DB_USER:=domainuser}" : "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}" @@ -40,10 +39,10 @@ if [[ ! -d "${REPO_DIR}/.git" ]]; then echo "全新机器首次部署,必须先手动执行 git clone,把仓库拉到 /www/wwwroot/getDomain" exit 1 fi -cd "${REPO_DIR}" -git fetch --all -git checkout "${GIT_BRANCH}" -git pull --ff-only origin "${GIT_BRANCH}" + +echo "已检测到仓库目录:${REPO_DIR}" +echo "当前脚本不会执行任何 Git 命令。" +echo "如需更新代码,请先手动完成 git pull,再重新执行本脚本。" mkdir -p "${BASE_DIR}" ln -sfn "${REPO_DIR}/domain-api" "${DOMAIN_API_DIR}" diff --git a/domain-api/deploy/multi-region/install_overseas_quick.conf.example b/domain-api/deploy/multi-region/install_overseas_quick.conf.example index 2ef722e..36df326 100644 --- a/domain-api/deploy/multi-region/install_overseas_quick.conf.example +++ b/domain-api/deploy/multi-region/install_overseas_quick.conf.example @@ -1,4 +1,3 @@ -GIT_BRANCH="main" API_DOMAIN="api.domain.com" ADMIN_DOMAIN="admin.domain" DB_NAME="domain" diff --git a/domain-api/deploy/multi-region/install_overseas_quick.sh b/domain-api/deploy/multi-region/install_overseas_quick.sh index bc9f46b..f60dd31 100755 --- a/domain-api/deploy/multi-region/install_overseas_quick.sh +++ b/domain-api/deploy/multi-region/install_overseas_quick.sh @@ -1,6 +1,11 @@ #!/usr/bin/env bash set -euo pipefail +if [[ "$(id -u)" -ne 0 ]]; then + echo "请使用 root 执行此脚本" + exit 1 +fi + SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" CONFIG_FILE="${SCRIPT_DIR}/install_overseas_quick.conf" CONFIG_EXAMPLE="${SCRIPT_DIR}/install_overseas_quick.conf.example" @@ -14,7 +19,6 @@ fi # shellcheck disable=SC1090 source "${CONFIG_FILE}" -: "${GIT_BRANCH:=main}" : "${API_DOMAIN:=api.domain.com}" : "${ADMIN_DOMAIN:=admin.domain}" : "${DB_NAME:=domain}" @@ -41,10 +45,10 @@ if [[ ! -d "${REPO_DIR}/.git" ]]; then echo "全新机器首次部署,必须先手动执行 git clone,把仓库拉到 /www/wwwroot/getDomain" exit 1 fi -cd "${REPO_DIR}" -git fetch --all -git checkout "${GIT_BRANCH}" -git pull --ff-only origin "${GIT_BRANCH}" + +echo "已检测到仓库目录:${REPO_DIR}" +echo "当前脚本不会执行任何 Git 命令。" +echo "如需更新代码,请先手动切到仓库属主完成 git pull,再重新执行本脚本。" mkdir -p "${BASE_DIR}" ln -sfn "${REPO_DIR}/domain-api" "${DOMAIN_API_DIR}" @@ -78,16 +82,13 @@ VITE_API_BASE_URL=https://${API_DOMAIN}/api/v1 EOF export NVM_DIR="${HOME}/.nvm" -if [[ -s "${NVM_DIR}/nvm.sh" ]]; then - # shellcheck disable=SC1090 - source "${NVM_DIR}/nvm.sh" -else - echo "未找到 nvm,请先安装 nvm" +if [[ ! -s "${NVM_DIR}/nvm.sh" ]]; then + echo "未找到 nvm,请先为当前执行用户安装 nvm" exit 1 fi +source "${NVM_DIR}/nvm.sh" nvm install "${NODE_VERSION}" nvm use "${NODE_VERSION}" - cd "${DOMAIN_WEB_DIR}" npm install npm run build