d
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
GIT_BRANCH="main"
|
||||
DB_NAME="domain"
|
||||
DB_USER="domainuser"
|
||||
DB_PASSWORD="CHANGE_ME_DB_PASSWORD"
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
GIT_BRANCH="main"
|
||||
DB_NAME="domain"
|
||||
DB_USER="domainuser"
|
||||
DB_PASSWORD="CHANGE_ME_DB_PASSWORD"
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
GIT_BRANCH="main"
|
||||
API_DOMAIN="api.domain.com"
|
||||
ADMIN_DOMAIN="admin.domain"
|
||||
DB_NAME="domain"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user