文档

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

更新时间:

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

本教程将展示如何在云效上设置代码仓库模板、设置研发协作规范、如何启动代码检测、如何设置保护分支与合并卡点、实现研发工作与需求的自动化消息通知,以及如何度量代码数据。

以下为学习内容大纲:

1. 导入仓库

2.体验代码库模板

3.启用代码检测

4.设置保护分支与合并卡点

5.设置仓库规范

6.创建合并请求

7.设置研发工作项自动化更新

8.查看代码度量数据

1. 导入仓库

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

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

6-8.png

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

6-8.png

2. 体验代码库模板

ⅰ. 设置模板库

导入完成后,进入该库,打开仓库设置,开启「设为模板库」:

6-8.png

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

image.png

ⅱ. 使用模板库

点击添加库,打开新建弹窗,选择「模板新建」-「自定义模板」,即可使用上一步设置的模板库作为新建的模板。可以选择是否导入模板库的全部分支,如果不勾选,则仅导入默认分支:

6-8.png

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

3. 启用代码检测

ⅰ. 准备检测方案

从首页菜单进入「代码检测」-「检测方案」,选择「Java开发规约检测」,如没有已有方案,可新建一个方案,然后选择「Java开发规约检测」。云效也支持其他语言的检测规则包,实际使用时可按需选择。

6-8.png

点击Java开发规约检测的卡片可查看具体检测规则内容:

6-8.png

ⅱ. 启动检测任务

进入上一节创建的代码库中,点击左侧菜单的「代码检测」:

image.png

选择期望的检测方案,勾选触发方式,包括「提交触发」和「合并请求触发」,然后勾选同意协议,最后点击新建并执行:

image.png

此时将针对默认分支进行一次指定方案下的代码扫描。

检测完成后可以查看检测结果:

6-8.png

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

6-8.png

4. 设置保护分支与合并卡点

进入设置-「分支设置」,点击「新建保护分支规则」:

6-8.png

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

6-8.png

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

6-8.png

卡点信息配置完成。

5. 设置仓库规范

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

6-8.png

进入设置-「仓库规范」,点击「启用仓库规范」:

6-8.png

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

6-8.png

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

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

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

6-8.png

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

6-8.png

6. 创建合并请求

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

6-8.png

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

6-8.png

输入内容后进行提交:

6-8.png

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

6-8.png

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

6-8.png

需要依次解决这些卡点才能够完成合并操作,请自行发挥去解决他们吧!

7. 代码相关的自动化规则设置

开发同学常常遇到以下情况:

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

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

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

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

第一步:分支关联任务ID

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

1-3

第二步:查看关联情况

提交之后,切换至云效的项目中,打开对应任务详情,在“其他”菜单中找到“代码”,关联项中即可看到此次的代码提交已经完成了关联:

image.png

第三步:设置自动化规则

进入到项目空间,点击左下角“设置”按钮,找到“自动化规则”-“新建自动化规则”,如何配置参见自动化规则

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

image.png

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

第一步:创建分支合并关联任务

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

1-3

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

第三步:设置自动化规则

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

image.png

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

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

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

image.png

8. 代码度量

云效效能度量Insight提供了代码资产度量,打开效能度量Insight,找到“常用报表”,选择“代码度量”。

  • 代码库概览:当前时刻已选代码库的代码行总量和安全问题总数;

  • 代码变更概览:所选时间段内,所选数据源范围内(如代码库或分支等)的新增/删除代码行数、代码提交次数和各提交平均包含的代码行数;

  • 代码变更按人员排序:所选时间段内,各成员提交代码行数的 Top5 数值;

  • 代码提交人排序:所选时间段内,各成员提交代码次数的 Top5 数值;

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

image.png

image.png

image.png

  • 本页导读 (0)
文档反馈