部署指引

企业微信 × Notion 生产进度录入系统 — 云服务器部署

1 上传项目到服务器

将整个 wecom-notion-sync 目录上传到你的云服务器。可以用 scp、rsync 或 SFTP 工具:

# 方式一:scp 上传(在你的本地电脑执行) scp -r wecom-notion-sync/ root@你的服务器IP:/opt/ # 方式二:rsync(更高效) rsync -avz wecom-notion-sync/ root@你的服务器IP:/opt/wecom-notion-sync/

也可以用宝塔面板、1Panel 等面板工具上传文件。

2 修改部署配置 必做

在服务器上编辑两个文件,填入你的域名:

① deploy/deploy.sh — 修改域名:

# 找到这行,替换为你的实际域名 DOMAIN=progress.yourcompany.com

② .env — 填入企微配置 + 域名:

# 企微配置(你已经有了) WECOM_CORP_ID=ww你的企业ID WECOM_AGENT_ID=1000002 WECOM_SECRET=你的应用Secret # 替换 YOUR_DOMAIN 为你的域名 WECOM_REDIRECT_URI=https://progress.yourcompany.com/auth/wecom/callback # 生产模式(已设置) DEMO_MODE=false

3 运行一键部署脚本

SSH 登录服务器,执行部署脚本。脚本会自动安装 Node.js、PM2、Nginx,申请 SSL 证书,配置反向代理:

# SSH 登录服务器 ssh root@你的服务器IP # 进入项目目录 cd /opt/wecom-notion-sync # 赋予执行权限 chmod +x deploy/deploy.sh # 执行部署 sudo ./deploy/deploy.sh
脚本执行过程中会问你:
• 输入邮箱(用于 SSL 证书到期提醒)
• 同意服务条款 (Y)
• 是否分享邮箱 (N)

脚本完成后,你的应用已经通过 HTTPS 运行了。

4 配置企微可信域名 必做

这一步让企业微信信任你的域名,否则 OAuth 登录会报错:

域名归属校验:企微会要求你下载一个验证文件(如 WW_verify_xxxx.txt),放到网站根目录。把文件复制到 public/ 目录,然后 pm2 restart wecom-notion-sync 即可。

5 配置角色映射 必做

编辑 config/roles.jsonuser_role_mapping,把同事的企微 userid 映射到角色:

"user_role_mapping": { "zhangsan": { "role": "production_planning", "name": "张三" }, "lisi": { "role": "production_tracking", "name": "李四" }, "wangwu": { "role": "raw_material_procurement", "name": "王五" } }

查看同事的 userid:企微管理后台 → 通讯录 → 点击成员 → 账号栏。

修改后执行:pm2 restart wecom-notion-sync

6 验证 & 上线

验证清单:

🛠 日常运维命令

# 查看应用状态 pm2 status # 查看实时日志 pm2 logs wecom-notion-sync # 重启应用 pm2 restart wecom-notion-sync # 修改配置后重启 cd /opt/wecom-notion-sync nano .env # 编辑配置 nano config/roles.json # 编辑角色映射 pm2 restart wecom-notion-sync # 重启生效 # 重载 Nginx(修改 nginx 配置后) nginx -t && systemctl reload nginx # 查看 SSL 证书状态 certbot certificates # 手动续期证书 certbot renew

⚠️ 前置条件检查