美文网首页
使用标准commit生成changelog标准化

使用标准commit生成changelog标准化

作者: GGatsby | 来源:发表于2021-01-18 15:31 被阅读0次

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

    conventional-changelog

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

    conventional-changelog 模块

    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过程如下:

    • git add .
    • git czcz
      标准提交提示
      第一行可看到 cz-cli@4.2.2, cz-conventional-changelog@3.3.0

    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标准化

          本文链接:https://www.haomeiwen.com/subject/kfotzktx.html