GOPS现场 | 芯片行业需要怎样的版本管理工具—对话龙智大规模安全研发技术专家

作者:龙智      发布时间:2022-09-23

2022GOPS全球运维大会·深圳站,我们对话了龙智大规模安全研发技术专家李培,为大家带来版本控制工具Perforce Helix Core的特点介绍、芯片行业用例、安全实践以及成功案例,并与另一款版本控制工具SVN进行对比,帮助您更深入地了解版本控制。

视频文字实录

Q:Perforce Helix Core是目前龙智代理的一款版本控制工具,可否介绍一下它的特点?

A:现在,版本控制软件有很多免费的产品,比如SVN、Gitlab或是gerrit。小团队用这些产品就能满足需求,所以不愿意花钱采购Perforce Helix Core。但是,Perforce Helix Core主要用于以下场景:一是有很多大文件。另一个是数据量特别大,比如数百TB级别甚至更多。还有一个是公司对权限及审计有较高的要求,一般这些团队都比较适合使用Perforce Helix Core。

Q:有免费、开源的工具,但是更多企业还是会选择收费的企业版的工具。

A:因为(在研发中工具)太重要了,不能接受出错。对于研发流程,在负荷很重、分支管理非常复杂时,人脑已经不能胜任这个工作。但这时,如果系统也出错,就是不能承受之重。这些资产本身就处于解决复杂问题的支撑地位,所以这些工具不能出错。因为口碑不是一天建立的,公司也不会把核心资产放到一个廉价但并不可靠、未经证实的系统上。

Q:哪些行业使用Perforce Helix Core较多?他们选择这个工具的主要原因是什么?

A:目前在国内游戏和芯片行业用得较多。芯片行业对权限管控较严格,内部也有大文件。另外,一个天然的优势是国外的大厂都使用Perforce,大厂的人到国内公司工作,使用Perforce Helix Core能够让他习惯于熟悉的工作环境,这都是一些因素。

Q:请问芯片行业是如何应用Perforce Helix Core的,有什么具体用例吗?

A:最典型的例子是工作区组装。模拟开发可能会产生一些大文件,权限管理要求比较严格。另外是数字芯片,如果是做一个大的SOC,里面有外购或是自研的IP,这些可能数以千计。比如几千个模块,如何把这些快速变化的模块组装到工作区里,组装到工作副本里,这就可以借助Perforce的工作区管理能力。

Q:据了解,芯片行业也有使用SVN的,可否具体对比一下SVN和Perforce Helix Core?

A:SVN与Perforce不是一个级别的。首先,SVN连分支的支持都近似于无,无论是管理的数据量、用户管理以及性能等方面。其次,它天生不支持分布式部署,所以这两个实际上不是一个量级。

它们也没有对比的必要。芯片行业也有使用SVN的,但要看规模大小。为什么国内有公司使用SVN,而国外的芯片公司几乎不用呢?因为国内的芯片行业刚起步,创业初期的数据量没那么大,节省一点用SVN即可。但使用SVN就意味着额外的投入,比如说管理工作区,损失的工作效率就是额外的损失。

Q:龙智是一家DevSecOps解决方案提供商,Perforce Helix Core在DevSecOps中处于什么位置?

A:我的个人观点,像从事IT研发或涉及IT研发相关的公司,数字资产就是这家公司的根基。每天巨大的人力成本,到最后都转化为存储在版本控制系统里的数字资产。团队有可能遍布全球,

尤其在疫情影响之下,很多公司转为居家办公,那这么多重要的资产,要支撑全球客户和研发人员,以及CI/CD的流程,这个系统的重要性就不言而喻了。所以Perforce Helix Core在整个流程中处于核心位置。

Q:Perforce Helix Core一般会对接什么工具?

A:我们对接的是比如上游,需求设计这一块。现在Jira比较流行,上游与Jira对接较多。下游是跟自动化工具,例如Jenkins和CloudBees这些工具。可能还可以跟代码评审工具,当然Perforce自带了代码评审工具,它就跟自身的代码评审工具进行集成等等。

Q:可以分享一下龙智为芯片行业的公司提供Perforce Helix Core解决方案的成功案例或者最佳实践?

A:这种案例很多。我们希望能实现客户、用户个人以及公司三方的三赢。龙智很多客户到最后都成为了我们的好朋友,比如XX哥、XX库,当然还有很多其他公司。我们在售前工作中,首先把工具能做到的功能给客户进行介绍,让他充分理解。实施中,我们会帮助客户制定合适的部署方案,考虑到以后的可扩展性。

另外,我们会跟随客户的需求,比如某大企业在国外搭建办公室,但是受限于法律法规,代码的出口会受到管制、影响,这就需要实施方案。在国外无法直接看中国代码,或中国无法直接看国外团队的代码,类似种种。遇到这些特殊的需求,首先,我们会制定方案给客户review,review之后在本地进行测试,测试无误后,我们将到现场帮助客户对现有业务无中断的实施。

Q:能分享一下您平时的工作内容吗?

A:Perforce Helix Core我主要负责部署方案,以及客户的实时支持,或是现场实施的问题,响应平常客户的问题。另外,有时我自己会写一些文章,比如说新的特性的消息,会发布在龙智的官方账号上。

有潜在客户的话,我们会给客户介绍产品的优势以及特性、特点。客户如果采购了,龙智会提供全程服务,包括售前、售后以及售中实施,主要是这些工作。

龙智DevSecOps系列在线研讨会—自动化测试专场

如何通过自动化测试实现降本、增效与提质