publish-cli
封装发布时一系列操作,包括:
- [x] 生成 changelog
- [x] 根据 changelog 生成企业微信机器人通知内容
- [x] 生成 Oteam 即时激励企业微信机器人通知内容
Installation
npm i tdesign-publish-cli
Commands
- changelog 生成项目 changelog
- robot 生成企微机器人消息模板内容
- help [command] display help for command
cli 使用样例
tdesign-publish-cli changelog
生成 Changelog
实现原理
cli 依赖 standard-changelog
,会根据 git commits 中的 tag 生成 语义化 的发布日志,使用本项功能的前提是你在日常提交 commit 时遵循 Conventional Commits 以生成规范、可读性高的日志内容。
可选依赖
为了保证你的提交信息严格遵循规范,可以在 repo 中结合 husky 和 cz-conventional-changelog 在每次提交前对提交信息进行格式化检测。 配置样例:
// package.json
{
...
"devDependencies": {
"husky": "^3.1.0",
"cz-conventional-changelog": "^3.0.2"
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
},
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"prepare-commit-msg": "exec < /dev/tty && git cz --hook || true",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
...
}
使用
群机器人 webhook 支持 markdown 格式撰写较为美观的消息内容,publish-cli robot
命令中内置了两类模板:
- 发布日志
- 即时激励
“发布日志” 类型会从 CHANGELOG.md 中截取本次版本发布的内容生成 md 内容。
“即时激励” 类型在按照步骤补充信息后生成 md 内容。
repo 根目录下会生成 robotMsg.json
文件,将文件内容复制到 Postman 或其他 curl 工具后即可发送消息。
(正式发布内容前建议先使用测试群机器人验证消息,以免发生运营事故。。)