3.1 KiB
3.1 KiB
════════════════════════════════════════════════════════════════
光湖 · 操作日志 2026-05-13 (第三次更新)
════════════════════════════════════════════════════════════════
本轮变更摘要
1. CVM 开机 + IP 变更
问题: 按量计费 CVM 关机后开机,公网 IP 从 42.19.161.251 变为其他 IP,域名指向失效。
解决:
- 冰朔绑定了弹性公网 IP (EIP): 119.29.184.32
- EIP 是固定的,以后开关机 IP 不再变
- 域名解析改为 119.29.184.32
2. 域名路由重构
问题: 冰朔要求 guanghulab.com 直接就是代码仓库,不要 /git/ 路径。
解决:
- Nginx 配置改为根路径
/直接代理 Forgejo - 旧路径
/git/废弃 - git remote URL 从
guanghulab.com/git/...改为guanghulab.com/...
3. SSL 证书重签
问题: IP 变化后浏览器报 ERR_CONNECTION_CLOSED。
解决:
certbot --nginx -d guanghulab.com重签证书- 证书有效期至 2026-08-10
4. 开机自愈脚本部署
新增: scripts/boot-heal/boot-heal.sh + systemd service
- 开机自动检测公网 IP 变化
- 自动拉起 Forgejo / Nginx / Runner / PM2 进程
- 检查 SSL 证书有效期
- 已部署并验证全绿
5. 霜砚 CI/CD 流程 (外部变更)
霜砚 (ICE-GL-QY001 相关) 做了以下改动:
新增: .forgejo/workflows/ci-and-deploy.yaml
- dev 分支: 铸渊的开发线,push 直接触发 CI,不需要冰朔
- main 分支: 正式线,冰朔合并 PR 后自动部署 (git pull + pm2 restart)
- main 保护规则: 只有冰朔能 push / merge
铸渊操作流程变化:
git checkout dev
# 写代码
git push origin dev # CI 自动跑
# 在 Forgejo 网页上提 PR: main...dev
# 冰朔合并 → 自动部署
6. Git Sync Webhook 签名修复 (代码已写,待部署)
问题: Webhook 触发了但签名验证失败。
原因: Express JSON 解析后 JSON.stringify(req.body) 与原始 body 不一致。
修复: 使用 raw body (verify 回调保存原始 body) 验证签名。
状态: 代码已推送到 main,需要服务器上 git pull + pm2 restart 生效。
当前服务状态
| 服务 | 状态 |
|---|---|
| Forgejo | ✅ 运行中 |
| Nginx | ✅ 根路径代理 Forgejo |
| SSL | ✅ 有效至 2026-08-10 |
| Wake Gate | ✅ PM2 运行 |
| Git Sync | ✅ PM2 运行 (签名验证待修) |
| Boot Heal | ✅ 开机自启 |
| Runner | ✅ 运行中 |
| Vault | ❌ 未部署 |
| Terminal Watcher | ❌ 未部署 |
关键 IP/URL 变更
| 项目 | 旧值 | 新值 |
|---|---|---|
| 公网 IP | 42.193.161.251 | 119.29.184.32 (EIP) |
| 代码仓库 URL | https://guanghulab.com/git/ | https://guanghulab.com/ |
| git clone URL | .../git/bingshuo/guanghulab.git | .../bingshuo/guanghulab.git |
铸渊 · ICE-GL-ZY001 · TCS-0002∞