文档

研发管理者如何八步规范管理企业代码资产?

更新时间:

本文主要介绍了在云效平台上通过八个步骤规范管理企业的代码资产。这些步骤包括设置代码仓库模板、启动代码检测、配置保护分支与合并检查点、设置代码仓库规范、实现研发工作及需求的自动化消息通知功能,以及如何进行代码的数据度量。

方案概览

步骤一:导入仓库

步骤二:体验代码库模板

步骤三:启用代码检测

步骤四:设置保护分支与合并卡点

步骤五:设置仓库规范

步骤六:创建合并请求

步骤七:代码相关的自动化规则设置

步骤八:代码度量

说明

推荐阅读对象:企业技术管理者、CTO、开发者

步骤一:导入仓库

云效提供多种代码资产导入的方案:

  1. 本文以网页端导入三方代码库为例进行体验。首先,导入一个公开的示例代码库,案例源代码库地址为:detect-repo。访问该示例库地址,选择 HTTPS 克隆,复制克隆地址:

    6-8.png

  2. 访问云效 Codeup ,单击导入库 > URL导入,在源代码库地址栏中填入刚才复制的克隆地址。由于是公开库无须鉴权,仅填写URL克隆地址即可,不需要填写账号/Token等信息。

    image

步骤二:体验代码库模板

1. 设置模板库

导入完成后,进入该库,打开设置 > 基本设置,开启设为模板库

image

该库即成为当前企业下的模板库,对该库有读权限的人可使用该模板库新建仓库。

image

2. 使用模板库

单击新建库 > 模板新建 > 自定义模板,即可使用上一步设置的模板库作为新建的模板。

image

单击确定后完成新库创建。

步骤三:启用代码检测

1. 准备检测方案

从首页菜单进入具体的代码库选择代码检测 > 新建检测任务,检测方案选择Java推荐检测方案,如没有已有方案,可新建一个方案,然后选择Java推荐检测方案。云效也支持其他语言的检测规则包,实际使用时可按需选择。触发方式也提供两种触发方式,分别是提交触发合并请求触发,勾选阅读并同意检测服务协议,单击新建并执行,即可创建完成并执行检测任务。

image

单击代码检测 > 检测方案 > Java推荐检测方案 > 检测规则,便可看到敏感信息检测、Java开发规范检测的卡片单击可查看具体检测规则内容:

image

2. 查看检测任务

此时将针对默认分支进行一次指定方案下的代码扫描。检测完成后可以单击相应的检测任务查看检测结果:

image

image

单击问题列表可查看问题详情:

image

步骤四:设置保护分支与合并卡点

  1. 进入设置 > 分支设置,单击新建保护分支规则

    image

  2. 设置master为保护分支,允许推送勾选,则不允许任何人直接推送保护分支,且合并规则只有管理者可以合并评审:

    image

  3. 开启要求合并前通过代码评审,将代码评审作为必须通过的卡点;开启要求合并前通过自动化状态检查,勾选上一步创建的代码检测任务作为必须运行通过的卡点:

    image

    卡点信息配置完成。

步骤五:设置仓库规范

  1. 仓库规范属于高级版功能,新用户可免费试用1个月,如遇以下页面,单击免费试用即可试用。

    image

  2. 进入设置 > 仓库规范,单击启用仓库规范

    image

  3. 建议选择系统方案进行体验,也可以自定义方案。以下用功能分支规范为例,规则如下:

    image

  4. 确定后可见当前系统方案已生效,包括分支规范和合并方向规范:

    • 分支规范限制了分支创建时的命名要求,避免不合规的分支创建,造成仓库中分支泛滥的问题。

    • 合并方向规范限制了源分支和目标分支的选择,避免不符合企业要求的合并被创建。

    image

  5. 针对历史中命名不合规的分支,将在分支列表中进行提示:

    image

步骤六:创建合并请求

  1. 基于该库的原 master 分支创建一个命名合规的 feature/A 分支:

    image

  2. 切换到新建的分支 feature/A,尝试新建文件:

    image

  3. 输入内容后进行提交

    image

  4. 切换至合并请求菜单,单击新建合并请求,选择 feature/A 合并至 master,该分支名和合并方向都是符合仓库规范的,因此可以完成合并:

    image

  5. 可见合并请求中有之前设置的保护分支卡点,包括评审人数评论数、自动化检查的卡点:

    image

    需要依次解决这些卡点才能够完成合并操作。

步骤七:代码相关的自动化规则设置

您可能常常遇到以下情况:

  • 代码已经在开发中了,却忘了从待开发改成开发中。

  • 代码已经发布上线了,却忘了更改状态为已发布。

通过云效自动化规则,可以实现代码变更后的需求任务状态自动化更新。自动化规则配置,请参见自动化规则

场景一:当任务关联的代码库发生提交时,系统自动变更任务状态为开发中

  1. 分支关联任务ID

    开发人员在特性分支上提交代码时,可以关联任务。包括支持直接页面选择关联项目中已有任务,或通过在提交信息中通过#ID的方式进行关联。

    image

  2. 查看关联情况

    提交之后,切换至云效的项目协作页面,打开对应任务详情,选择其他 > 代码,关联项中即可看到此次的代码提交已经完成了关联:

    image

  3. 设置自动化规则

    进入到项目空间,点击左下角“设置”按钮,自动化规则 > 自定义规则,如何配置,请参见自动化规则

    规则内容:当任务关联代码提交时,该任务可以自动由「待处理」状态流转为「处理中」状态:

    image

场景二:当任务下面关联合并请求时,系统自动变更任务状态为待评审

  1. 创建分支合并关联任务

    创建分支合并关联开发人员开发完成特性分支后,会将特性分支合入测试分支上,需要进行合并评审。创建分支合并时,可以直接去关联项目中已有任务。

    1-3

  2. 查看关联情况提交之后,可以在项目中该任务的其他-代码关联项中看到此次的代码合并请求

  3. 设置自动化规则

    进入到项目空间,单击左下角设置按钮,选择自动化规则 > 自定义规则。如设置规则内容:当任务关联合并请求时,该任务可以自动由开发中状态流转为待评审状态,并发送站内信&钉钉消息等给负责人。

    image.png

    规则内容:当任务关联合并请求为已通过时,该任务可以自动由待评审状态流转为已评审状态:image.png

    规则内容:当任务关联合并请求为已合并时,该特性分支已合并至测试分支后,交由测试进行集成测试,该任务可以自动由已评审状态流转为待测试状态。

    说明

    当任务关联合并请求为已合并时,系统自动变更任务状态为待测试。同时将该任务负责人变更为测试人员,并发送站内信&钉钉消息进行提醒。

    image.png

步骤八:代码度量

云效效能洞察Insight提供了代码资产度量,打开效能洞察Insight,找到“常用报表”,选择“代码度量报表”,提供以下代码常用度量方式,您也可以在右上角选择指标卡片,选择您所需要的指标进行代码度量。

度量方式

度量说明

代码库概览

当前时刻已选择的代码库的代码行总量和安全问题总数。

代码变更概览

所选时间段内,所选数据源范围内(如代码库或分支等)的新增/删除代码行数、代码提交次数以及每次提交所包含的平均代码行数。

代码变更行按人员排序

所选时间段内,各成员提交代码行数的 Top5 数值。

代码提交按提交人排序

所选时间段内,各成员提交代码次数的 Top 5 数值。

代码提交时段分布

所选时间区间内,每日各时段的代码提交次数分布,颜色越深表示在该区间的提交次数越多。

image.png

image.png

image.png