# coros-standardversion-template **Repository Path**: symeny/coros-standardversion-template ## Basic Information - **Project Name**: coros-standardversion-template - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-02-28 - **Last Updated**: 2022-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## coros-standardversion git 提交规范检查 & git 版本控制使用说明 > 查看仓库[最新说明](https://gitee.com/symeny/coros-standardversion-template) > 版本号生成标准规范, 参考[conventionalcommits](https://www.conventionalcommits.org/zh-hans/v1.0.0/) ### git commit 提交规范 1. 参考 Angular 团队的 commit 规范,结合项目实际情况,制定以下 commit 规范。commit message 格式如下: > 注意冒号后面有空格 ``` <类型>[可选 范围]: <描述> [可选 正文] [可选 脚注] ``` 示例: ``` git commit -m 'feat: 新增功能' ``` > 工程已经内置 cz-conventional-changelog 标准提交提示, 可以通过如下命令之一创建标准 commit ``` git cz cz npm run cz ``` 2. type 类型说明如下 ``` feat:新增 feature fix:修复 bug docs:修改文档,如 readme.md style:修改代码格式,不改变代码逻辑,如逗号、缩进、空格等 refactor:代码重构,没有新增功能或修复 bug perf:优化相关,如提升性能、用户体验等 test:测试用例,包括单元测试、集成测试 ci:修改 ci 配置文件或脚本,如 jenkins fastlamechore 修改构建脚本、或者增加依赖库、工具等 revert:回滚之前的 ``` 3. 发布流程 ``` git commit -m 'fix: 修复 bug' npm run build [option]// 正式版发布, 将自动打标并推送, 可以绑定CICD触发流水线 ``` 示例 ``` npm run build version=1.3.0 webhook=webhookurl feishuHeader=feishuHeader changelogFileName=CHANGELOG prerelease=beta userIds=123,456 ``` > option 支持参数如下 ``` version --- 手动指定生成版本号, 如配置此项, 则tag被强制为此版本, 请注意手动指定需要主动规避版本号冲突, 如冲突, 则不可发布 webhook --- 飞书webhook通知url, 如未配置, 则不发送消息通知 feishuHeader --- 飞书卡片消息通知header 头 changelogFileName --- changelog生成文件名, 无需指定.md后缀 prerelease --- 后缀名, 如1.2.3-beta.0 userIds --- 飞书通知@相关人员,如未配置, 则不@, 以逗号拼接 ``` 4. 自定义配置 配置文件位于 package.json 中, 示例如下 ``` "standardversionConfig": { "types": [ { "type": "feat", "section": "🎊 新特性" }, { "type": "fix", "section": "🐛 Bug修复" }, { "type": "docs", "section": "文档", "hidden": true }, { "type": "chore", "section": "配置项", "hidden": true }, { "type": "style", "section": "🌈 样式" }, { "type": "refactor", "section": "🚀 重构" }, { "type": "perf", "section": "🚀 代码优化" }, { "type": "test", "section": "✅ 测试", "hidden": true }, { "type": "revert", "section": "⏪ 回滚", "hidden": true } ], "tagPrefix": "v", "docsDirFolder": "./docs/", "docUrl": "https://open.feishu.cn/", "showRecords": 2, "report": true }, ``` > 参数说明 ``` prelease --- 后缀, 现已支持YYMMDDHHMMSS, 如releaseMMDD showRecords ----- 飞书通知展示的提交记录数, userIds ------ 飞书通知user_id , user_id 可以在飞书后台查询 ``` ### env 环境依赖 1. 需要安装 nodejs 环境 安装文件[下载地址](http://nodejs.cn/download/), 可以选择程序包安装或者通过脚本安装 安装完成后验证 nodejs 环境是否正常, 输入以下命令, 正确显示版本号即可 ``` node -v ``` ### 如何集成现有工程 1. 将以下文件放入现有工程根目录 ``` package.json commitlint.config.js .gitignore ``` 2. 初始化环境, 执行以下命令, 将自动安装依赖 ``` npm install ``` 3. 安装完成后即可正常使用 4. 脚本说明 默认配置四个环境/分支, alpha, beta, release, master, 也可以自行添加更多分支或环境支持, script 示例解析如下. 注意: 变量分支需要与.standardversion.config.js 中的 webhooks 配置对齐, ``` 脚本命令:node ./node_modules/coros-standardversion/index.js 分支 ``` 如下 ``` "master": "node ./node_modules/coros-standardversion/index.js master" ```