d
This commit is contained in:
@@ -13,6 +13,7 @@
|
|||||||
- API 域名:`api.domain.com`
|
- API 域名:`api.domain.com`
|
||||||
- 后台域名:`admin.domain`
|
- 后台域名:`admin.domain`
|
||||||
- 分支:默认 `main`
|
- 分支:默认 `main`
|
||||||
|
- 脚本约定:所有一键 `.sh` 只做部署,不执行任何 `git` 命令
|
||||||
|
|
||||||
目标机器:
|
目标机器:
|
||||||
|
|
||||||
@@ -32,8 +33,6 @@
|
|||||||
正式执行本文命令前,先把下面这些变量替换成你自己的真实值。
|
正式执行本文命令前,先把下面这些变量替换成你自己的真实值。
|
||||||
|
|
||||||
```text
|
```text
|
||||||
GIT_BRANCH=main
|
|
||||||
|
|
||||||
API_DOMAIN=api.domain.com
|
API_DOMAIN=api.domain.com
|
||||||
ADMIN_DOMAIN=admin.domain
|
ADMIN_DOMAIN=admin.domain
|
||||||
|
|
||||||
@@ -52,7 +51,7 @@ MAINLAND_CONTROLLER_IP=国内controller机器IP
|
|||||||
NODE_VERSION=20
|
NODE_VERSION=20
|
||||||
```
|
```
|
||||||
|
|
||||||
最少必须先替换这 6 个:
|
最少必须先替换这 5 个:
|
||||||
|
|
||||||
- `DB_PASSWORD`
|
- `DB_PASSWORD`
|
||||||
- `SYNC_SHARED_TOKEN`
|
- `SYNC_SHARED_TOKEN`
|
||||||
@@ -112,13 +111,12 @@ git pull --ff-only origin main
|
|||||||
2. 编辑 `.conf`
|
2. 编辑 `.conf`
|
||||||
3. 执行对应的 `.sh`
|
3. 执行对应的 `.sh`
|
||||||
|
|
||||||
如果这台机器已经有仓库目录了,后面再执行脚本时,脚本内部会自动做 `git fetch / checkout / pull`,不需要你每次手动拉代码。
|
|
||||||
|
|
||||||
关键结论:
|
关键结论:
|
||||||
|
|
||||||
- 新机器第一次:必须先手动 `git clone`
|
- 新机器第一次:必须先手动 `git clone`
|
||||||
- 后续执行脚本:不再负责 `clone`
|
- 后续每次更新:先手动 `git pull`
|
||||||
- 脚本只负责“基于已存在仓库做部署或更新”
|
- 后续执行脚本:不负责 `clone`,也不负责 `pull`
|
||||||
|
- 脚本只负责“基于当前仓库代码做部署或更新”
|
||||||
|
|
||||||
### 3.2 这些命令用哪个用户执行
|
### 3.2 这些命令用哪个用户执行
|
||||||
|
|
||||||
@@ -245,14 +243,12 @@ Python 3.11.x
|
|||||||
|
|
||||||
### 1. 国外主控机最短复制块
|
### 1. 国外主控机最短复制块
|
||||||
|
|
||||||
先把下面 7 个值替换掉再执行:
|
先把下面 5 个值替换掉再执行:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
GIT_BRANCH
|
|
||||||
API_DOMAIN
|
API_DOMAIN
|
||||||
ADMIN_DOMAIN
|
ADMIN_DOMAIN
|
||||||
DB_PASSWORD
|
DB_PASSWORD
|
||||||
SYNC_SHARED_TOKEN
|
|
||||||
OVERSEAS_NODE_CODE
|
OVERSEAS_NODE_CODE
|
||||||
NODE_VERSION
|
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
|
bash /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_overseas_quick.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
注意:
|
||||||
|
|
||||||
|
- 这条脚本不会执行 `git fetch`
|
||||||
|
- 这条脚本不会执行 `git pull`
|
||||||
|
- 你要先自己把 `/www/wwwroot/getDomain` 更新到目标版本,再跑脚本
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /www/wwwroot/getDomain
|
cd /www/wwwroot/getDomain
|
||||||
git fetch --all
|
git fetch --all
|
||||||
@@ -345,10 +347,9 @@ curl http://127.0.0.1:8100/api/v1/runtime/readiness
|
|||||||
|
|
||||||
### 2. 国内 controller 最短复制块
|
### 2. 国内 controller 最短复制块
|
||||||
|
|
||||||
先把下面 4 个值替换掉再执行:
|
先把下面 3 个值替换掉再执行:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
GIT_BRANCH
|
|
||||||
DB_PASSWORD
|
DB_PASSWORD
|
||||||
SYNC_SHARED_TOKEN
|
SYNC_SHARED_TOKEN
|
||||||
MAINLAND_CONTROLLER_NODE_CODE
|
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
|
bash /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_mainland_controller_quick.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
注意:
|
||||||
|
|
||||||
|
- 这条脚本不会执行 `git fetch`
|
||||||
|
- 这条脚本不会执行 `git pull`
|
||||||
|
- 你要先自己把 `/www/wwwroot/getDomain` 更新到目标版本,再跑脚本
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /www/wwwroot/getDomain
|
cd /www/wwwroot/getDomain
|
||||||
git fetch --all
|
git fetch --all
|
||||||
@@ -437,10 +444,9 @@ bash deploy/multi-region/check_mainland_controller.sh
|
|||||||
|
|
||||||
### 3. 国内 worker 最短复制块
|
### 3. 国内 worker 最短复制块
|
||||||
|
|
||||||
先把下面 5 个值替换掉再执行:
|
先把下面 4 个值替换掉再执行:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
GIT_BRANCH
|
|
||||||
DB_PASSWORD
|
DB_PASSWORD
|
||||||
SYNC_SHARED_TOKEN
|
SYNC_SHARED_TOKEN
|
||||||
MAINLAND_WORKER_NODE_CODE
|
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
|
bash /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_mainland_worker_quick.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
注意:
|
||||||
|
|
||||||
|
- 这条脚本不会执行 `git fetch`
|
||||||
|
- 这条脚本不会执行 `git pull`
|
||||||
|
- 你要先自己把 `/www/wwwroot/getDomain` 更新到目标版本,再跑脚本
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /www/wwwroot/getDomain
|
cd /www/wwwroot/getDomain
|
||||||
git fetch --all
|
git fetch --all
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
GIT_BRANCH="main"
|
|
||||||
DB_NAME="domain"
|
DB_NAME="domain"
|
||||||
DB_USER="domainuser"
|
DB_USER="domainuser"
|
||||||
DB_PASSWORD="CHANGE_ME_DB_PASSWORD"
|
DB_PASSWORD="CHANGE_ME_DB_PASSWORD"
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ fi
|
|||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
source "${CONFIG_FILE}"
|
source "${CONFIG_FILE}"
|
||||||
|
|
||||||
: "${GIT_BRANCH:=main}"
|
|
||||||
: "${DB_NAME:=domain}"
|
: "${DB_NAME:=domain}"
|
||||||
: "${DB_USER:=domainuser}"
|
: "${DB_USER:=domainuser}"
|
||||||
: "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}"
|
: "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}"
|
||||||
@@ -39,10 +38,10 @@ if [[ ! -d "${REPO_DIR}/.git" ]]; then
|
|||||||
echo "全新机器首次部署,必须先手动执行 git clone,把仓库拉到 /www/wwwroot/getDomain"
|
echo "全新机器首次部署,必须先手动执行 git clone,把仓库拉到 /www/wwwroot/getDomain"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cd "${REPO_DIR}"
|
|
||||||
git fetch --all
|
echo "已检测到仓库目录:${REPO_DIR}"
|
||||||
git checkout "${GIT_BRANCH}"
|
echo "当前脚本不会执行任何 Git 命令。"
|
||||||
git pull --ff-only origin "${GIT_BRANCH}"
|
echo "如需更新代码,请先手动完成 git pull,再重新执行本脚本。"
|
||||||
|
|
||||||
mkdir -p "${BASE_DIR}"
|
mkdir -p "${BASE_DIR}"
|
||||||
ln -sfn "${REPO_DIR}/domain-api" "${DOMAIN_API_DIR}"
|
ln -sfn "${REPO_DIR}/domain-api" "${DOMAIN_API_DIR}"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
GIT_BRANCH="main"
|
|
||||||
DB_NAME="domain"
|
DB_NAME="domain"
|
||||||
DB_USER="domainuser"
|
DB_USER="domainuser"
|
||||||
DB_PASSWORD="CHANGE_ME_DB_PASSWORD"
|
DB_PASSWORD="CHANGE_ME_DB_PASSWORD"
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ fi
|
|||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
source "${CONFIG_FILE}"
|
source "${CONFIG_FILE}"
|
||||||
|
|
||||||
: "${GIT_BRANCH:=main}"
|
|
||||||
: "${DB_NAME:=domain}"
|
: "${DB_NAME:=domain}"
|
||||||
: "${DB_USER:=domainuser}"
|
: "${DB_USER:=domainuser}"
|
||||||
: "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}"
|
: "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}"
|
||||||
@@ -40,10 +39,10 @@ if [[ ! -d "${REPO_DIR}/.git" ]]; then
|
|||||||
echo "全新机器首次部署,必须先手动执行 git clone,把仓库拉到 /www/wwwroot/getDomain"
|
echo "全新机器首次部署,必须先手动执行 git clone,把仓库拉到 /www/wwwroot/getDomain"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cd "${REPO_DIR}"
|
|
||||||
git fetch --all
|
echo "已检测到仓库目录:${REPO_DIR}"
|
||||||
git checkout "${GIT_BRANCH}"
|
echo "当前脚本不会执行任何 Git 命令。"
|
||||||
git pull --ff-only origin "${GIT_BRANCH}"
|
echo "如需更新代码,请先手动完成 git pull,再重新执行本脚本。"
|
||||||
|
|
||||||
mkdir -p "${BASE_DIR}"
|
mkdir -p "${BASE_DIR}"
|
||||||
ln -sfn "${REPO_DIR}/domain-api" "${DOMAIN_API_DIR}"
|
ln -sfn "${REPO_DIR}/domain-api" "${DOMAIN_API_DIR}"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
GIT_BRANCH="main"
|
|
||||||
API_DOMAIN="api.domain.com"
|
API_DOMAIN="api.domain.com"
|
||||||
ADMIN_DOMAIN="admin.domain"
|
ADMIN_DOMAIN="admin.domain"
|
||||||
DB_NAME="domain"
|
DB_NAME="domain"
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
if [[ "$(id -u)" -ne 0 ]]; then
|
||||||
|
echo "请使用 root 执行此脚本"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
CONFIG_FILE="${SCRIPT_DIR}/install_overseas_quick.conf"
|
CONFIG_FILE="${SCRIPT_DIR}/install_overseas_quick.conf"
|
||||||
CONFIG_EXAMPLE="${SCRIPT_DIR}/install_overseas_quick.conf.example"
|
CONFIG_EXAMPLE="${SCRIPT_DIR}/install_overseas_quick.conf.example"
|
||||||
@@ -14,7 +19,6 @@ fi
|
|||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
source "${CONFIG_FILE}"
|
source "${CONFIG_FILE}"
|
||||||
|
|
||||||
: "${GIT_BRANCH:=main}"
|
|
||||||
: "${API_DOMAIN:=api.domain.com}"
|
: "${API_DOMAIN:=api.domain.com}"
|
||||||
: "${ADMIN_DOMAIN:=admin.domain}"
|
: "${ADMIN_DOMAIN:=admin.domain}"
|
||||||
: "${DB_NAME:=domain}"
|
: "${DB_NAME:=domain}"
|
||||||
@@ -41,10 +45,10 @@ if [[ ! -d "${REPO_DIR}/.git" ]]; then
|
|||||||
echo "全新机器首次部署,必须先手动执行 git clone,把仓库拉到 /www/wwwroot/getDomain"
|
echo "全新机器首次部署,必须先手动执行 git clone,把仓库拉到 /www/wwwroot/getDomain"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cd "${REPO_DIR}"
|
|
||||||
git fetch --all
|
echo "已检测到仓库目录:${REPO_DIR}"
|
||||||
git checkout "${GIT_BRANCH}"
|
echo "当前脚本不会执行任何 Git 命令。"
|
||||||
git pull --ff-only origin "${GIT_BRANCH}"
|
echo "如需更新代码,请先手动切到仓库属主完成 git pull,再重新执行本脚本。"
|
||||||
|
|
||||||
mkdir -p "${BASE_DIR}"
|
mkdir -p "${BASE_DIR}"
|
||||||
ln -sfn "${REPO_DIR}/domain-api" "${DOMAIN_API_DIR}"
|
ln -sfn "${REPO_DIR}/domain-api" "${DOMAIN_API_DIR}"
|
||||||
@@ -78,16 +82,13 @@ VITE_API_BASE_URL=https://${API_DOMAIN}/api/v1
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
export NVM_DIR="${HOME}/.nvm"
|
export NVM_DIR="${HOME}/.nvm"
|
||||||
if [[ -s "${NVM_DIR}/nvm.sh" ]]; then
|
if [[ ! -s "${NVM_DIR}/nvm.sh" ]]; then
|
||||||
# shellcheck disable=SC1090
|
echo "未找到 nvm,请先为当前执行用户安装 nvm"
|
||||||
source "${NVM_DIR}/nvm.sh"
|
|
||||||
else
|
|
||||||
echo "未找到 nvm,请先安装 nvm"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
source "${NVM_DIR}/nvm.sh"
|
||||||
nvm install "${NODE_VERSION}"
|
nvm install "${NODE_VERSION}"
|
||||||
nvm use "${NODE_VERSION}"
|
nvm use "${NODE_VERSION}"
|
||||||
|
|
||||||
cd "${DOMAIN_WEB_DIR}"
|
cd "${DOMAIN_WEB_DIR}"
|
||||||
npm install
|
npm install
|
||||||
npm run build
|
npm run build
|
||||||
|
|||||||
Reference in New Issue
Block a user