--- belongs_to: - "[[INDEX · 铸渊·协作指令|GitHub ↔ Notion 桥接协议]]" --- # 🚀 铸渊指令:修复部署 → 全模块上线 guanghulab.com(霜砚签发·2026-03-07) --- ## 🎯 问题 现在 `deploy-to-server.yml` 只把 `docs/` 目录同步到服务器,但 `docs/` 里只有 6 个文件(一个简单的 index.html)。 实际有代码的模块(backend、src、status-board、app 等)都没有被部署。 **要求:所有模块都要部署到 [guanghulab.com](http://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 桥接协议](../%E2%9A%92%EF%B8%8F%20%E9%93%B8%E6%B8%8A%C2%B7%E5%8D%8F%E4%BD%9C%E6%8C%87%E4%BB%A4%EF%BD%9CGitHub%20%E2%86%94%20Notion%20%E6%A1%A5%E6%8E%A5%E5%8D%8F%E8%AE%AE%201e27db07f7884441bf4ca6c931cadab9.md) - CD 部署指令:[🚀 铸渊 CD 指令:自动部署 [guanghulab.com](http://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)](%F0%9F%93%A6%20%E9%93%B8%E6%B8%8A%E6%8C%87%E4%BB%A4%EF%BC%9A%E5%85%A8%E4%BB%93%E5%BA%93%E6%A8%A1%E5%9D%97%E7%9B%98%E7%82%B9%20+%20%E9%83%A8%E7%BD%B2%E6%84%9F%E7%9F%A5%E5%90%8C%E6%AD%A5%EF%BC%88%E9%9C%9C%E7%A0%9A%E7%AD%BE%E5%8F%91%C2%B72026-03-07%EF%BC%89%204c116ef0963c4dc7b0d5c55327d3608e.md)