起因
团队用阿里云流水线做 CI/CD ,之前用的是阿里云自带的钉钉通知。结果上个月发现通知额度用完了。
正好想换个方案,找了一圈发现了个开源项目 Notifyman,试用了下感觉挺适合的。
解决了什么问题
1. 不用担心额度限制
开源免费,不用担心通知发太多被限制。
2. 减少沟通成本
以前部署完,还得在群里 @ 测试同学:"xxx 环境部署好了,可以测了"。
现在直接把项目链接发给测试团队,他们打开网页就能实时看到部署状态、Git 提交记录、下载二维码等信息。还支持桌面通知,部署完自动弹窗提醒。
测试同学再也不用问"部署好了吗" 👍
3. 消息样式可定制
支持 HTML 模板,可以自己定制消息卡片的样式。我的模板里包含了:
- 项目名称 + 分支部署状态 + 时间Git 提交记录(带文件变更统计)蒲公英下载二维码
4. 集成简单
在流水线脚本里加几行代码就行:
curl -X POST 'https://test-api.notifyman.com/api/createMessage' \-H 'Content-Type: application/json' \-H 'Authorization: Bearer YOUR_API_KEY' \-d '{ "projectId": "test", "notificationTitle": "通知标题", "notificationDescription": "通知内容", "data": { "projectName": "测试项目", "branchName": "test 分支", "status": "部署成功", "time": "2025 年 1 月 1 日 10:00:00", "gitLog": "这里可以传带 style 的 html ,这样效果出来更美观", "showQrcode": "block", "qrcode": "https://baidu.com" }}'其他场景
除了部署通知,还可以用来做:
- 错误日志实时监控服务器告警推送业务异常提醒
项目信息
- GitHub: https://github.com/Notifyman/Notifyman在线体验: notifyman.com技术栈:Next.js + React + TypeScript + WebSocket
总的来说,如果你也遇到类似问题(通知额度限制、沟通成本高、上报日志),可以试试这个方案。
