1. 产品简介
  2. 快速开始
  3. 编写构建流程
  4. 配置构建计划
  5. 构建节点
  6. 管理构建计划
  7. 系统插件
  8. 自定义团队插件
  9. 最佳实践
  10. 常见问题
  11. 词汇表
Compass / 规范

规范

规范功能用于检测或约束项目成员的分支推送、代码合并以及版本发布等行为,从而推动研发流程的规范化与标准化。

目前,CODING DevOps 平台提供的规范功能支持项目管理员对代码仓库(仓库类型为 Git)配置以下规则:

  • 推送规则:用于指定允许推送的分支的类型、命名及提交信息。不符合规则的分支操作将会出现违规提示。
  • 合并规则:用于检测合并请求的源分支是否允许合并至目标分支。用户在发起针对某一目标分支的合并请求后,系统将检测请求合并的源/目标分支是否匹配预设的合并规则,并针对违规情况给予提示。
  • 发布规则:用于检测代码版本的标签是否符合命名规则。如有不符合发布规则的版本标签,系统将会给予违规提示。

前提条件

在使用规范功能之前,项目管理员需要先配置代码仓库内使用的分支类型。配置好的分支类型会用于 Compass 工作流与代码仓库规范中。

  1. 在规范管理页面,点击右上角「功能设置」。

    你也可点击项目页面左下角「项目设置」进入「Compass」->「分支设置」页面。

  2. 在「分支设置」页签,系统默认配置了常见的分支类型并指定了分支前缀。你可以选择项目内常用的分支类型,并按需修改分支前缀。

配置代码仓库规范

当首次进入项目内的代码仓库规范页面时,系统已默认配置了常见的推送、合并及发布规则。点击右上角「修改规范」,即可根据实际项目情况修改规范。

推送规则

推送规则规定了允许推送的分支类型,以及分支名或提交信息是否必须包括事项 ID。

  1. 指定允许推送的分支类型。
  • 选项一:不做限制,任何分支皆允许推送。
  • 选项二:允许推送右侧显示的“分支类型”下的分支。(如需修改“分支类型”,参考前提条件前往项目设置中管理。)
  • 选项三:允许推送右侧显示的“分支类型”下的分支,以及自定义分支类型。点击「新增」,输入分支名称及前缀即可完成分支类型自定义。
  1. 指定分支名或代码提交信息是否需要包括事项 ID。
  • 事项 ID 由项目名与事项编号组成,格式为项目名#事项 ID项目名-事项 ID。例如,开发分支需包括名为 learn 项目的事项 123,则需命名为 dev/learn#123dev/learn-123
  • 同理,若代码提交信息必须包括 learn 项目的事项 123,可在 commit message 中包含 feat: learn#123feat: learn-123

    项目名为项目 URL 后缀标识,可在「项目设置」->「项目与成员」->「基本设置」中查看。

以下为示例配置说明:

配置 约束
对所有分支类型的命名规则(分支前缀除外)或提交信息均没有约束。
针对所有分支类型,分支名无需包含事项 ID,但代码提交信息必须包含事项 ID。
- 开发分支和发布分支:分支名需包含事项 ID;
- 缺陷分支和补丁分支:代码提交信息需包含事项 ID。
针对所有分支类型,分支名均需包含事项 ID。

合并规则

合并规则规定了允许合并的源/目标分支类型。不匹配合并规则配置的合并请求即为违规。

发布规则

发布规则允许你通过设置标签命名规则(正则表达式)检测代码版本的标签是否符合规范。

开启规范功能

项目管理员可为每个代码仓库开启或关闭代码仓库规范功能,或为新仓库默认开启该功能。

为单个仓库开启代码仓库规范

  1. 在「Compass」->「规范」->「代码仓库规范」中,点击右侧的「仓库管理」按钮进入仓库管理页面。

  1. 选择任一代码仓库,将「开启代码仓库规范」功能打开。
  • 若没有配置自定义规范,则该仓库将使用项目内配置的代码仓库规范进行约束。

项目代码仓库规范即在「Compass」->「规范」->「代码仓库规范」页面中配置的规范。

  • 若将「自定规范」功能打开并自定义了代码仓库规范,则该仓库将使用当前页面的规范配置进行约束。

新仓库自动开启规范

在「项目设置」->「Compass」->「规范」中开启「新仓库自动开启研发规范」功能后,对于新建的代码仓库会默认开启规范功能,并使用项目内配置的规范进行约束。

开启强制规范

对仓库开启代码仓库规范之后,项目管理员还可以在「项目设置」->「Compass」->「规范」中进一步「开启强制规范」以强制拦截不符合规则的分支创建、代码推送及合并请求等操作。

强制规范只对开启代码仓库规范的仓库生效。若代码仓库规范功能关闭,强制规范不做任何拦截。

代码仓库规范与强制规范的区别

  • 仅开启代码仓库规范:若相关代码仓库操作被检测出违规,系统将会给出提示,但相应操作依然可以进行。

  • 同时开启代码仓库规范和强制规范:若相关代码仓库操作被检测出违规,该操作会被立即拦截或锁定,无法进行。

查看代码仓库规范使用情况

在「Compass」->「规范」->「代码仓库规范」页面右侧的「已规范仓库」区域可查看该项目中使用了规范的仓库。

  • 默认只显示已开启代码仓库规范的仓库;点击「仓库管理」即可查看当前项目中的所有仓库。
  • 使用自定义规范的仓库将显示「自定规范」标签;无标签则表明仓库使用项目内配置的代码仓库规范。
  • 外部仓库和开源仓库无法使用代码仓库规范功能。

处理违规情况

若出现代码仓库规范违规的情况,可参考以下内容进行解决。

违规分支

现象: 在「分支」页面,分支被打上「违规分支」的标记,且违规项目为「分支规范」。

若该违规分支存在合并请求,在「合并请求」页面也会显示该分支存在违规情况。

原因: 该分支命名不符合规范。

解决方法: 在「Compass」->「规范」->「代码仓库规范」中查看该代码仓库的推送规则,并根据规则重命名分支。

违规合并请求

现象: 在「合并请求」页面,显示存在合并规范违规情况。

原因: 该合并请求的源分支或目标分支不匹配代码仓库的允许合并规则。

解决方法: 在「Compass」->「规范」->「代码仓库规范」中查看允许合并规则,按需更新合并请求或合并规则。

违规发布标签

现象: 在「版本」页面的「标签」页签,显示存在违规标签。

原因: 该版本标签不符合发布规则中的标签命名规则。

解决方法: 在「Compass」->「规范」->「代码仓库规范」中查看发布规则,根据发布规则更新标签命名。

关闭规范功能

  1. 在「Compass」->「规范」->「代码仓库规范」中,点击右侧的「仓库管理」按钮进入仓库管理页面。

  1. 在仓库管理页面,选择任一代码仓库,将「开启代码仓库规范」功能关闭,则该仓库的操作将不受任何约束。

不支持为多个仓库批量关闭该功能或单独关闭 Compass 的规范功能。如果无需使用规范功能,项目管理员可在「项目设置」->「功能开关」中将 Compass 关闭。

上一篇耗时统计
最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?

您希望我们如何改进?