Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
8.6 KiB
8.6 KiB
belongs_to
| belongs_to | |
|---|---|
|
🚀 铸渊指令:修复部署 → 全模块上线 guanghulab.com(霜砚签发·2026-03-07)
🎯 问题
现在 deploy-to-server.yml 只把 docs/ 目录同步到服务器,但 docs/ 里只有 6 个文件(一个简单的 index.html)。
实际有代码的模块(backend、src、status-board、app 等)都没有被部署。
要求:所有模块都要部署到 guanghulab.com,push 到 main 就自动更新网站。
📋 铸渊执行清单(读到就做·不等人)
铸渊部署修复指令 · YM-DEPLOY-FIX-20260307-001
来源:霜砚(Notion执行体)→ 铸渊(GitHub执行体)
时间:2026-03-07
状态:P0 · 立即执行
━━━ 背景 ━━━
目前 deploy-to-server.yml 只同步 docs/ 目录到服务器。
但仓库里有很多模块代码需要部署:
有实际代码的模块:
· backend/ → 后端 API 服务(Node.js server.js)
· src/ → HLI 中间层(Node.js)
· status-board/ → 看板前端(静态 HTML/CSS/JS)
· app/ → Next.js 主站
· docs/ → 当前首页(静态)
另外仓库里还有很多 m**-前缀目录(m01-login、m03-personality、
m05-user-center、m06-ticket、m07-dialogue-ui、m10-cloud、
m11-module、m12-kanban、m15-cloud-drive、m18-health-check)
和其他功能目录(coldstart、dashboard、portal、
notification、help-center 等)。
妈妈的要求:全部部署到 guanghulab.com。
━━━ 任务一:修改 deploy-to-server.yml ━━━
现在的问题:只同步 docs/ 目录。
修改为:同步整个仓库的前端/静态文件到服务器。
具体修改:
1️⃣ rsync 同步范围:
· 旧:只同步 docs/
· 新:同步以下所有目录到服务器对应路径:
服务器部署结构(DEPLOY_PATH 下):
/var/www/guanghulab/
├── index.html ← docs/index.html(首页)
├── status-board/ ← status-board/ 整个目录
├── app/ ← app/ 整个目录
├── m01-login/ ← m01-login/ 整个目录
├── m03-personality/ ← m03-personality/
├── m05-user-center/ ← m05-user-center/
├── m06-ticket/ ← m06-ticket/
├── m07-dialogue-ui/ ← m07-dialogue-ui/
├── m10-cloud/ ← m10-cloud/
├── m11-module/ ← m11-module/
├── m12-kanban/ ← m12-kanban/
├── m15-cloud-drive/ ← m15-cloud-drive/
├── m18-health-check/ ← m18-health-check/
├── coldstart/ ← coldstart/
├── dashboard/ ← dashboard/
├── portal/ ← portal/
├── notification/ ← notification/
├── help-center/ ← help-center/
├── frontend/ ← frontend/
├── user-center/ ← user-center/
├── ticket-system/ ← ticket-system/
├── chat-bubble/ ← chat-bubble/
├── persona-selector/ ← persona-selector/
├── settings/ ← settings/
├── cloud-drive/ ← cloud-drive/
├── dingtalk-bot/ ← dingtalk-bot/
└── ... ← 其他所有含代码的目录
2️⃣ rsync 排除规则(这些不部署):
--exclude '.git'
--exclude '.github'
--exclude 'node_modules'
--exclude 'syslog-inbox'
--exclude 'syslog-processed'
--exclude 'broadcasts-outbox'
--exclude 'dev-nodes'
--exclude 'signal-log'
--exclude 'tests'
--exclude 'reports'
--exclude 'scripts'
--exclude '*.bak'
--exclude '*.bak2'
--exclude '*_副本'
--exclude '*_副本/'
--exclude '.DS_Store'
--exclude '.env'
--exclude 'package-lock.json'
--exclude 'tsconfig.json'
--exclude 'next.config.ts'
--exclude 'postcss.config.mjs'
--exclude 'jest.smoke.config.js'
--exclude 'ecosystem.config.js'
3️⃣ DEPLOY_PATH 修改:
· 旧:DEPLOY_PATH = /var/www/guanghulab/status-board
· 新:DEPLOY_PATH = /var/www/guanghulab
· 在 GitHub Secrets 里更新这个值
4️⃣ 同步源路径:
· 旧:只同步 docs/
· 新:同步仓库根目录 ./(配合排除规则)
━━━ 任务二:确保首页能导航到各模块 ━━━
检查 docs/index.html(即网站首页):
· 如果首页没有各模块的导航链接,请加上
· 至少包含这些入口:
- /status-board/ → 看板(已有代码)
- /app/ → 主站
- 其他有代码的模块目录
· 如果 index.html 已经有导航,确认链接路径正确
━━━ 任务三:确保 Nginx 配置正确 ━━━
Nginx 配置应该:
· location / → 指向 /var/www/guanghulab/(完整站点根目录)
· 这样访问 guanghulab.com/status-board/ 就能看到看板
· 访问 guanghulab.com/ 就能看到首页
· 保留现有的 API/Webhook 反向代理配置
如果现在 Nginx 的 root 指向的是 /var/www/guanghulab/status-board/:
· 改为 root /var/www/guanghulab/
· 重新加载 Nginx:sudo nginx -t && sudo systemctl reload nginx
铸渊如果有 SSH 权限,直接改。
如果没有,在 deploy workflow 的 deploy job 里加一步:
ssh $DEPLOY_USER@$DEPLOY_HOST "
sudo sed -i 's|root /var/www/guanghulab/status-board|root /var/www/guanghulab|g' /etc/nginx/sites-available/default &&
sudo nginx -t &&
sudo systemctl reload nginx
"
或者生成一个 Nginx 配置文件放到仓库里,每次部署时自动同步到服务器。
━━━ 任务四:后端服务的部署(如果需要) ━━━
backend/ 和 src/ 是 Node.js 服务,不是静态文件。
它们需要:
· 在服务器上 npm install
· 用 pm2 或类似工具启动 node server.js
· Nginx 反向代理到 Node.js 端口
检查服务器上是否已经有 pm2 + Node.js 运行:
· 如果有,在 deploy job 里加一步:
ssh $DEPLOY_USER@$DEPLOY_HOST "
cd /var/www/guanghulab/backend && npm install --production &&
pm2 restart guanghulab-backend || pm2 start server.js --name guanghulab-backend
"
· 如果没有,先跳过后端部署,只部署静态前端文件
━━━ 任务五:测试部署 ━━━
PR 合并后或直接 push 到 main:
· 确认 Actions 运行成功
· 确认 guanghulab.com 首页正常显示
· 确认 guanghulab.com/status-board/ 能访问看板
· 确认其他模块目录能访问
· 确认 Notion 变更日志收到部署通知
━━━ 验收标准 ━━━
· guanghulab.com 首页可访问,能看到导航
· guanghulab.com/status-board/ 显示看板
· 所有有代码的模块目录都能通过浏览器访问
· push 到 main 后 60 秒内自动更新网站
· 现有 API/Webhook 反向代理不受影响
━━━ 执行确认 ━━━
铸渊完成后回复:
✅ YM-DEPLOY-FIX-20260307-001 已完成
· deploy-to-server.yml 已修改:同步范围从 docs/ → 全仓库
· DEPLOY_PATH 已更新为 /var/www/guanghulab/
· Nginx root 已更新为 /var/www/guanghulab/
· 首页导航已添加/确认
· 测试结果:[URL访问截图]
· commit SHA: xxxxxx
📝 妈妈操作指南
🔗 关联文档
- 铸渊协作指令主页:⚒️ 铸渊·协作指令|GitHub ↔ Notion 桥接协议
- CD 部署指令:[🚀 铸渊 CD 指令:自动部署 guanghulab.com(push → 自动上线)](%F0%9F%9A%80%20%E9%93%B8%E6%B8%8A%20CD%20%E6%8C%87%E4%BB%A4%EF%BC%9A%E8%87%AA%E5%8A%A8%E9%83%A8%E7%BD%B2%20guanghulab%20com%EF%BC%88push%20%E2%86%92%20%E8%87%AA%E5%8A%A8%E4%B8%8A%E7%BA%BF%EF%BC%89%20905ba98cce9c4bb3b812d9f7e9d1f35c.md)
- 仓库盘点报告:📦 铸渊指令:全仓库模块盘点 + 部署感知同步(霜砚签发·2026-03-07)