研发规范
功能介绍
研发规范功能用于检测或约束项目成员的分支创建、代码提交、代码合并以及版本发布等行为,从而推动研发流程的规范化与标准化。
目前,CODING DevOps 平台提供的代码规范功能支持对代码仓库(仓库类型为 Git)配置以下类型的规范:
- 分支规范:用于检测代码仓库下所有分支的名称,同时会标记分支名称与检测规则不匹配的分支。您还可以通过设置分支白名单将不需要受规范限制的分支排除在外。
- 合并规范:用于检测允许合入的源分支类型。用户在发起针对某一目标分支的合并请求后,系统将检测请求合并的源分支是否匹配合并规范中预设的合并规则。
- 发布规范:用于检测代码版本的标签是否符合规范。如有不符合发布规范的版本标签,将会出现违规标记。
研发规范不仅支持以单个代码仓库为单位进行设置,也支持在项目级别指定多个代码仓库使用统一的默认规范。详情请参考项目高级设置—研发规范。
开启功能
进入一个项目之后,在「代码仓库」模块,点击任一仓库进入其详情页面。在「设置」页面下选择「研发规范」即可为该仓库配置研发规范。
若该代码仓库为初次使用研发规范,需要先选择基准分支(通常为 master)然后进入初始化阶段。初始化可能需要花一点时间,请耐心等待。
开启研发规范
开启研发规范功能后,页面右上角会显示「研发规范」标记,同时相关的代码仓库操作(如创建分支、提交、合并请求等)将会立即被检测是否符合规范。
开启强制规范
开启研发规范功能之后,您还可以「开启强制规范」以强制禁止不符合规范规则的分支创建、代码推送及合并请求等操作。
必须先开启研发规范功能,才能启用强制规范。若研发规范功能关闭,强制规范不可用。
研发规范与强制规范的区别
仅开启研发规范:若相关代码仓库操作被检测出违规,系统将会给出提示,但相应操作依然可以进行。
同时开启研发规范和强制规范:若相关代码仓库操作被检测出违规,该操作会被立即拦截或锁定,无法进行。
例如,若设置了开发分支的规范为 dev\/[\w-]+
并开启了强制规范,当新建一个名为 dev001 的分支时,系统会给出正确的命名规范提示。您需输入符合规范的分支名称才能完成分支创建。
若您只开启了研发规范而没有开启强制规范,您可以顺利完成 dev001 分支创建。创建之后,系统会给出正确命名提示,且该分支被识别为「违规分支」。
分支规范
若项目管理员已在「项目设置」->「研发规范」中为新仓库默认开启规范,当首次进入当前代码仓库的「研发规范」页面时,会自动填充默认的规范配置。
新增分支规范
- 在「分支类型」配置区域,点击「新增」。
- 填写分支类型和命名检查规则。您也可以按需选择「检验关联事项」作为分支代码提交时的约束。
参数 | 说明 |
---|---|
分支类型 | 用于设置当前代码仓库具备共通特性的分支,如常见的开发分支、发布分支等。 |
检验命名 | 通过输入正则表达式来规范分支的命名。命名不匹配的分支将被检测出违规。 |
检验关联事项 | 用于设置「提交规范」,在代码提交时会检查是否指定了关联事项。 |
- 点击页面下方保存按钮,新增的研发规范会立即生效。
修改分支规范
点击需要修改的命名规则输入框,填写新的正则表达式,再点击页面下方保存按钮即可生效。
删除分支规范
如需删除某一分支类型,点击「删除」,再点击页面下方保存按钮即可生效。
处理违规分支
分支规范配置保存之后,会立即针对现存分支和新建分支检测分支的命名。是否检测分支的提交记录取决于分支规范中是否指定「检验关联事项」。
若命名和提交记录都不符合规范,会先判定该分支的「违规项目」为「分支规范」。待分支命名改正之后,若提交记录仍不符合规范,系统会判定「违规项目」为「提交规范」。
- 违规项目为分支规范
现象: 在「分支」页面,分支被打上「违规分支」的标记,违规项目为分支规范。若该违规分支存在合并请求,在「合并请求」页面也会显示该分支存在违规情况。
原因: 该分支命名不符合分支规范。
解决方法: 根据已配置的分支规范修改分支命名。
- 违规项目为提交规范
现象: 在「分支」页面,分支被打上「违规分支」的标记,违规项目为提交规范。若该违规分支存在合并请求,在「合并请求」页面也会显示该分支存在违规情况。
原因: 该分支在最近一次提交代码时没有关联分支规范所指定的对应类型的事项。
解决方法: 采用以下任一方式重新提交代码时关联对应类型的事项:
- 如果直接在 CODING DevOps 平台编辑和提交代码,在提交代码时关联指定类型的事项。
- 如果使用
git commit
命令提交代码,输入提交信息时用#事项 ID
的方式关联对应事项即可。具体操作可参考提交文件 (git commit)。
使用
git rebase
提交符合提交规范的 commit message 将不会被检测为「违规分支」。
分支白名单
您可以通过设置分支白名单,指定不需要纳入研发规范检测范围的分支。
在「分支白名单」配置区域,点击「新增」,选择一个或多个分支,再保存配置即可。
合并规范
您可以通过配置合并规范为任一目标分支指定允许合并的源分支。
新增合并规范
- 在「合并规范」配置区域,点击「新建」。
- 指定目标分支匹配规则和允许合并的源分支。您可以选择已有的分支类型或输入正则表达式。
参数 | 说明 |
---|---|
目标分支匹配规则 | 用于检查合并请求中的目标分支。 |
允许合并的源分支 | 用于检查合并请求中的源分支是否允许合并。 |
- 点击页面下方保存按钮,新增的研发规范会立即生效。
修改合并规范
如需修改合并规则,点击指定目标分支的「修改」按钮,即可修改针对该目标分支允许合并的源分支。
删除合并规范
如需删除针对某一指定目标分支的合并规则,点击「删除」,再点击页面下方保存按钮即可生效。
处理违规合并请求
现象: 在「合并请求」页面,显示存在合并规范违规情况。
原因: 该合并请求中的目标分支或源代码分支不匹配合并规范中的允许合并规则。
解决方法: 确认合并请求的目标和源分支是否正确,按需更新合并规范中的允许合并规则。
发布规范
您可以通过设置标签命名规则(正则表达式)检测代码版本的标签是否符合规范。
新增发布规范
- 在「发布规范」配置区域,点击「新增」。
2. 填写正则表达式作为标签命名规则。
3. 点击页面下方保存按钮,新增的研发规范会立即生效。
修改发布规范
点击需要修改的标签命名规则输入框,填写新的命名规则,再点击页面下方保存按钮即可生效。
删除发布规范
如需删除某一标签命名规则,点击输入框右侧的删除图标,再点击页面下方保存按钮即可生效。
处理违规发布标签
现象: 在「版本」页面的「标签」页签,显示存在违规标签。
原因: 该版本标签不符合发布规范中的标签命名规则。
解决方法: 根据发布规范更新发布标签的命名。
在阅读中是否遇到以下问题?
您希望我们如何改进?