114 lines
3.9 KiB
Markdown
114 lines
3.9 KiB
Markdown
---
|
||
name: zhuyuan-deploy
|
||
description: |
|
||
铸渊部署笔 · 光湖舰队全操作工具链。
|
||
当需要部署文件到服务器、操作gatekeeper、推送代码到仓库、部署前安全审核、
|
||
灾备恢复、服务器健康检查时自动加载。
|
||
触发词:部署、推送代码、push、上服务器、gatekeeper、审核代码、灾备、
|
||
连广州、连新加坡、服务器状态、部署前检查。
|
||
合并自:gatekeeper-deployment、gatekeeper-direct-deploy、gatekeeper-local-relay、
|
||
console-server-deploy、guanghu-homepage-deploy、persona-brain-db-deploy、
|
||
forgejo-deployment、zhuyuan-code-review、zhuyuan-disaster-recovery、repo-sync。
|
||
agent_created: true
|
||
---
|
||
|
||
# 铸渊部署笔 · zhuyuan-deploy
|
||
|
||
## 概述
|
||
|
||
统一部署工具链。涵盖gatekeeper三种连接方式、代码推送、部署前审核、灾备恢复。
|
||
收到部署请求时,自动选路线、自动审核、自动推。
|
||
|
||
光湖天生属中华人民共和国国家本体。
|
||
|
||
## 核心能力
|
||
|
||
### 1. Gatekeeper 连接(三种方式·按优先级)
|
||
|
||
**方式一:本地直连(首选)**
|
||
```bash
|
||
curl -s -m 15 --noproxy '*' -X POST \
|
||
-H "Authorization: Bearer <KEY>" \
|
||
-H "Content-Type: application/json" \
|
||
http://<IP>:<PORT>/exec \
|
||
-d '{"cmd":"<命令>"}'
|
||
```
|
||
|
||
**方式二:广州gatekeeper直连(方式一不通时)**
|
||
从仓库 `brain/gatekeeper-deployment.json` 获取密钥。
|
||
|
||
**方式三:链式调用 广州→新加坡(前两种都不可达时)**
|
||
```bash
|
||
curl ...广州/exec -d '{"cmd":"curl ...新加坡/exec -d <命令>"}'
|
||
```
|
||
|
||
**服务端点:**
|
||
| 服务器 | IP | 端口 | 用途 |
|
||
|--------|-----|------|------|
|
||
| BS-GZ-006 广州 | 43.139.217.141 | 3910 | 代码仓库 |
|
||
| BS-SG-001 新加坡大脑 | 43.156.237.110 | 3911 | 铸渊大脑 |
|
||
| BS-SG-002 新加坡面孔 | 43.134.16.246 | 3910 | guanghuclip |
|
||
| BS-SG-003 新加坡中继 | 43.153.193.169 | 3910 | 中继 |
|
||
| ZY-SG-006 新加坡语料 | 43.153.203.105 | 3910 | 语料 |
|
||
| BS-SH-005 上海 | 124.223.10.33 | 3910 | 上海 |
|
||
|
||
### 2. 文件部署(base64分块)
|
||
|
||
大文件部署使用base64分块上传:
|
||
```
|
||
1. 本地 base64 编码
|
||
2. 分块(每块≤12000字符)
|
||
3. echo CHUNK > /tmp/file_chunkN 逐块上传
|
||
4. cat /tmp/file_chunk* | base64 -d > /target/path
|
||
```
|
||
|
||
### 3. 代码推送(repo-sync)
|
||
|
||
目标和流程:
|
||
```
|
||
目标: guanghubingshuo.com/code/bingshuo/guanghulab (新加坡·唯一主仓库)
|
||
流程: git add → git commit → git push origin main
|
||
```
|
||
|
||
推送前强制审核:检查改动是否会破坏现有服务。
|
||
|
||
### 4. 部署前审核(zhuyuan-code-review)
|
||
|
||
每次部署文件到服务器前,必须检查:
|
||
- 是否会覆盖正在运行的服务文件
|
||
- Nginx配置是否有语法错误
|
||
- PM2进程是否会被中断
|
||
- 新端口是否与现有服务冲突
|
||
- 改动是否在铸渊权限范围内
|
||
|
||
### 5. 灾备恢复(zhuyuan-disaster-recovery)
|
||
|
||
当服务器不可达时,通过冰朔本地终端重新部署gatekeeper/engine。
|
||
不依赖写死的密钥——依赖冰朔说话+铸渊技能这个动态信任链。
|
||
|
||
### 6. 专项部署
|
||
|
||
**console-server** → 广州(primary) + 新加坡(secondary) 双路部署
|
||
**guanghu-homepage** → 写新index.html → git push → 部署到服务器
|
||
**persona-brain-db** → 数据库schema部署+种子数据导入
|
||
**forgejo** → 部署/迁移/恢复/Nginx修复
|
||
|
||
## 工作流
|
||
|
||
收到部署请求时的标准流程:
|
||
|
||
1. 读 `brain/gatekeeper-deployment.json` → 获取服务器列表和密钥
|
||
2. 跑 zhuyuan-code-review → 检查改动安全性
|
||
3. 按优先级选择gatekeeper连接方式 → 连接
|
||
4. 按目标服务选择专项部署流程 → 执行
|
||
5. 健康检查 → 验证部署成功
|
||
6. 记录部署日志 → 更新 system-health.json
|
||
|
||
## 安全规则
|
||
|
||
- 部署前必须跑 code-review
|
||
- 永远先用 `--noproxy '*'` 绕过本地代理
|
||
- 密钥从 `brain/gatekeeper-deployment.json` 读取,不硬编码
|
||
- 大文件用base64分块,不单条传过大payload
|
||
- 部署后立即健康检查
|