使用标准commit生成changelog标准化

对于一个多人团队来说,每次发布的日志更新和版本更新如果通过人肉完成,没有统一的流程和规范,则容易造成混乱;尤其对于团队的新同学,有时遇到紧急情况,则会更显慌乱。这时候,用自动化工具再合适不过了!

conventional-changelog

onventional-changelog 可以根据项目的commit 自动生成 changelogs,并且和 standard-version 结合,可以自动完成生成version、打tag, 生成CHANGELOG等。

conventional-changelog 模块

  • conventional-changelog-cli - conventional-changelog 核心命令行工具
  • cz-conventional-changelog - changelog适配器, commitizen家族一员,标准提交提示
  • standard-changelog - 针对 angular commit 格式的命令行工具
  • commitizen - 针对开发者简单的 commit 规范

commitizen

全局安装:npm install -g commitizen
或 本地安装: npm install --save-dev commitizen

安装适配器(cz-conventional-changelog)

全局安装:npm install -g cz-conventional-changelo
在根目录下添加.czrc,内容为: { "path": "cz-conventional-changelog" }

或 本地安装: npm install --save-dev cz-conventional-changelo
在package.json中添加配置:

"config": {
   "commitizen": {
     "path": "cz-conventional-changelog"
   }
 }

此时,提交commit过程如下:

conventional-changelog-cli

  • 安装 npm install -g conventional-changelog-cli
  • 使用 conventional-changelog -p angular -i CHANGELOG.md -s
    该命令会在CHANGELOG.md文件头部添加上次tag之后的commit信息
第一次changelog信息

版本号读取的是package.json中的version

更多选项配置查看这里

则,一次changelog的过程如下:

  • 修改代码
  • git add . / git cz
  • 修改package.json中的version
  • 运行生成changelog命令,最好将命令集成到package.json的scripts中
  • 手动 Tag, Push等

standard-version

该工具帮助我们实现自动发布等功能,通常我们基于master发布时,流程如下:

  • git pull origin master
  • 前面的流程
  • 手动Tag, Push等

安装

npm install -g standard-version
常用的命令如下:

自动化发布

会自动生成tag:
tag

则,基于以上工具,发布流程如下:

  • changes
  • git add . / git cz
  • npm run release


    scrpits

也可以指定发布的版本:


指定版本

你可能感兴趣的:(使用标准commit生成changelog标准化)