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

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 测试管理,基础版人数 不受限
云效 DevOps 项目协作,基础版人数 不受限
简介: 本教程向您展示如何在云效上设置代码仓库模板,如何设置研发协作规范,如何启动代码检测,以及如何设置保护分支与合并卡点、如何实现研发工作与需求的自动化消息通知、如何度量代码数据?

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

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

以下为学习内容大纲:

1. 导入仓库

2.体验代码库模板

3.启用代码检测

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

5.设置仓库规范

6.创建合并请求

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

8.查看代码度量数据

1. 导入仓库

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

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

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

2. 体验代码库模板

ⅰ. 设置模板库

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

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

ⅱ. 使用模板库

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

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

3. 启用代码检测

ⅰ. 准备检测方案

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

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

ⅱ. 启动检测任务

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

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

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

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

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

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

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

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

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

卡点信息配置完成。

5. 设置仓库规范

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

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

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

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

  • 分支命名规范限制了分支创建时的命名要求,避免不合规的分支被创建、仓库中分支泛滥的问题。
  • 合并方向规范限制了源分支和目标分支的选择,避免不合企业要求的合并被创建。

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

6. 创建合并请求

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

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

输入内容后进行提交:

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

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

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

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

开发同学一定有共鸣的事情就是:怎么总是忘记更新任务状态啊!

  • 代码已经在开发中了,却忘了从待开发改成开发中
  • 代码已经发布上线了,却忘了更改状态为已发布

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

第一步:分支关联任务ID

开发人员在特性分支上提交代码时,可以关联任务,直接去关联项目中已有任务,或者通过#ID的方式进行关联。

第二步:查看关联情况

提交之后,可以在项目中打开任务的“其他”找到“代码”关联项中看到此次的代码提交:

第三步:设置自动化规则

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

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

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

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

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

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

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

第三步:设置自动化规则

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

规则内容:当任务关联合并请求时,该任务可以自动由「开发中」状态流转为「待评审」状态,并发送站内信信&钉钉消息等给负责人

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

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

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

8. 代码度量

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

  • 代码库概览:当前时刻已选代码库的代码行总量和安全问题总数;
  • 代码变更概览:所选时间段内,所选数据源范围内(如代码库或分支等)的新增/删除代码行数、代码提交次数和各提交平均包含的代码行数;
  • 代码变更按人员排序:所选时间段内,各成员提交代码行数的 Top5 数值;
  • 代码提交提交人排序:所选时间段内,各成员提交代码次数的 Top5 数值;
  • 代码提交时段分布:所选时间区间内,每日各时段的代码提交次数分布,颜色越深表示在该区间的提交次数越多;

上一篇:快速入门下一篇:管理者、新团队成员如何在云效上初始化工作流

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
相关文章
|
6月前
|
监控 数据可视化 BI
清单管理软件推荐:提升任务效率与组织能力
**Zoho Projects是一款推荐的清单管理工具,它支持任务关联和实时更新显示,提升效率。通过派生和关联关系组织任务,用甘特图监控进度,还提供直观的统计报表功能。适合个人和中小企业免费试用,以优化工作流程。**
53 0
|
7月前
|
数据采集 监控 前端开发
数据治理必读系列(二)丨3步提升企业数据标准化程度
数据治理必读系列(二)丨3步提升企业数据标准化程度
233 0
|
大数据
客户成功体系如何构建?请看这7步
客户成功体系如何构建?请看这7步
|
大数据 数据挖掘 测试技术
数据项目交付小记:测试报告&公共层&中台组织
最近项目交付上遇到了一些问题,我把自己的回答和想法记录一下,分享给大家。
17286 1
|
数据采集 存储 运维
如何成功实施一个数据治理项目?实施步骤有哪些?
企业数字化转型以数据为中心,通过数据驱动业务发展、管理协同和运营。因此,数字化转型关键在于数据,数据治理则需先行。从而更好激发数据生产要素潜能,实现业务数据化、数据价值化,助力企业数字化转型。
988 0
|
存储 自然语言处理 容灾
【话题】数字资产管理流程
关注公众号“达摩院首座”,了解开发者最真实生活
858 0
【话题】数字资产管理流程
|
定位技术
生活号平台运营规范
注册规范  1)申请入驻生活号时必须使用支付宝实名认证账号。 2)填写真实可信的身份资料(姓名、身份证号码、电话号码、企业名称等信息)。 3)上传真实有效并清晰可见的证件(身份证、营业执照、组织机构代码证)照片或扫描件。
1102 12
|
存储 自然语言处理 容灾
|
项目管理
艾伟也谈项目管理,话里话外:流程管理,其实可以做的更多
  在为企业做流程管理项目的时候,我们经常会反复的给企业流程经理灌输这样的一种思想:流程管理,并不仅仅是把流程图画出来,装订成册就结束了,流程管理其实可以做的更多。流程管理实际上是一种建立在流程基础上的管理体系,是从流程入手,借助流程这个平台将各种管理方法结合在一起的管理模式。
928 0
下一篇
DataWorks