This commit is contained in:
vet
2026-04-20 17:35:43 +07:00
parent 83d425b182
commit 68c9613cef
3 changed files with 137 additions and 11 deletions

View File

@@ -58,7 +58,7 @@ ssh -T git@github.com
```
deploy-test/
├── dt.sh # 总控快捷入口pull/build/start/stop/restart/status
├── 00-init-tools.sh # 步骤0可选Linux 服务器安装 Go / Node / Docker、GOPROXY、GitHub HTTPS 重写
├── 00-init-tools.sh # 步骤0可选Linux 服务器安装 Go / Node / Docker / etcdctl、GOPROXY、GitHub HTTPS 重写
├── common.sh # 公共函数库(路径、日志函数)
├── 01-init-env.sh # 步骤1写入 .env.deploy-test已存在则覆盖旧文件带时间戳备份
├── 02-patch-config.sh # 步骤2将 .env.deploy-test 写入各服务 YAML
@@ -115,19 +115,19 @@ deploy-test/
## 步骤 0`00-init-tools.sh`(裸机 / 新服务器)
在**尚未安装 Go、Node、Docker** 的 Linux 测试服务器上,先执行本脚本再跑 `01-init-env.sh` 及后续步骤。`setup.sh` **不会**自动调用它,需手动执行。
在**尚未安装 Go、Node、Docker、etcdctl** 的 Linux 测试服务器上,先执行本脚本再跑 `01-init-env.sh` 及后续步骤。`setup.sh` **不会**自动调用它,需手动执行。
**GitHub 访问**:请先完成上文 **「GitHub优先配置 SSH 密钥」**;本脚本的 **HTTPS 重写** 是在**不能配 SSH** 时的备选,不是首选。
| 项目 | 说明 |
|------|------|
| **作用** | 安装 Go默认 1.22.5,可用 `GO_VERSION` 覆盖)、配置 GOPROXY测速选节点、安装 Node.js LTS、全局安装 pnpm/yarn、安装 Docker**备选**:将 GitHub SSH 克隆地址重写为 HTTPS当环境无法使用 SSH 时,减轻 `pc` 等项目 `yarn install` 失败) |
| **环境变量** | `GO_VERSION`(如 `1.22.5`)、`GO_ARCH``amd64` / `arm64`)、`NODE_VERSION`Node 大版本,默认 `20` |
| **作用** | 安装 Go默认 1.22.5,可用 `GO_VERSION` 覆盖)、配置 GOPROXY测速选节点、安装 Node.js LTS、全局安装 pnpm/yarn、安装 Docker、安装 `etcdctl`**备选**:将 GitHub SSH 克隆地址重写为 HTTPS当环境无法使用 SSH 时,减轻 `pc` 等项目 `yarn install` 失败) |
| **环境变量** | `GO_VERSION`(如 `1.22.5`)、`GO_ARCH``amd64` / `arm64`)、`NODE_VERSION`Node 大版本,默认 `20``ETCDCTL_VERSION`(默认 `3.5.17` |
| **权限** | 需要 **root****sudo**(写入 `/usr/local/go``/etc/profile.d/deploy-env.sh` 等) |
| **系统** | 面向 Ubuntu/Debian`apt-get`);脚本内注释说明前置条件 |
```bash
# 安装全部Go + GOPROXY + Node + Docker
# 安装全部Go + GOPROXY + Node + Docker + etcdctl
sudo ./deploy-test/00-init-tools.sh
# 或只执行其中一项
@@ -135,6 +135,7 @@ sudo ./deploy-test/00-init-tools.sh go # Go + GOPROXY
sudo ./deploy-test/00-init-tools.sh goproxy # 仅重配 GOPROXY
sudo ./deploy-test/00-init-tools.sh node # 仅 Node / npm / pnpm / yarn
sudo ./deploy-test/00-init-tools.sh docker # 仅 Docker
sudo ./deploy-test/00-init-tools.sh etcdctl # 仅安装 etcdctl
```
执行结束后脚本会提示:新开终端需 `source /etc/profile.d/deploy-env.sh` 或重新登录 SSH再执行 `./deploy-test/01-init-env.sh`
@@ -156,7 +157,7 @@ sudo ./deploy-test/00-init-tools.sh docker # 仅 Docker
### 分步执行
```bash
# 0. (可选)裸机安装 Go / Node / Docker见上文「步骤 0」
# 0. (可选)裸机安装 Go / Node / Docker / etcdctl,见上文「步骤 0」
# sudo ./deploy-test/00-init-tools.sh
# 1. 写入配置模板(若 .env.deploy-test 已存在会先备份为 .bak.<时间戳> 再覆盖)
@@ -402,6 +403,7 @@ TENCENT_SDK_SECRET_KEY=xxx
# 查看状态
./deploy-test/status.sh
# status.sh 会输出 Etcd 中已注册的 RPC 服务 key用于排查 produced zero addresses
# 重启单个后端服务
./deploy-test/restart.sh chat-api