为什么版本控制最佳实践很重要?

自2014年以来,DORA(DevOps研究和评估小组)每年都会有效地使用版本控制作为顶级团队绩效的一致预测指标。

但是你的VCS影响的不仅仅是这一点。

事实证明,实现DevOps和有效实现版本控制最佳实践之间也存在关联。
您的VCS,DevOps最佳实践和解决DevOps挑战之间的相关性

Perforce与DevOps.com合作,了解版本控制系统如何实现大规模DevOps。

超过450人回应了调查,这些受访者广泛来自DevOps社区中的从业人员。它包括DevOps工程师,软件开发人员,IT /软件架构师和IT领导者。对于他们的调查使我们能够很好地了解团队在大型企业中面临的DevOps挑战。

从本调查的回答中可以清楚地看出,版本控制可以解决企业在尝试大规模实现DevOps时遇到的一些挑战。
6大DevOps挑战

回应调查的受访者为各种行业开发软件。他们的专长包括开发:

企业软件

Web和移动应用软件

财务软件

半导体,嵌入式和物联网软件

无论他们开发的软件类型如何,一些主题都很清楚。例如,63%的受访者表示CI / CD的性能是一项重大挑战。另一个主题?通过使用企业级版本控制系统,可以解决人们面临的DevOps挑战。它为所有组件带来了顺序,性能和单一事实来源。

Perforce的首席产品官Tim Russel谈到了调查结果。

DevOps挑战1:持续集成/持续交付CI/CD

当团队向他们的软件投入数千美元(或数十万美元)时,期望它能理所应当地提高性能。

然而,尽管98.8%的受访者使用版本控制系统,但63%的受访者将CI / CD性能称为当前VCS的问题。

持续集成是DevOps的关键最佳实践。实现CI包括为开发人员提供实时反馈以提高质量。但它可能会导致VCS服务器出现瓶颈。如果您的版本控制系统不够快速且高性能,它将无法满足CI的核心需求。

DevOps挑战2:非最佳开发人员生产力

开发中最需关注的问题——非最佳开发人员生产力。如果让开发人员坐在那里等待任务分配和构建,这种情况是不太好的。

根据调查,最让团队放慢速度的两件事就是测试并等待代码审查。

最糟糕的情况就是开发人员就那样地坐着、等着他们代码的审查和测试——他们正在等待他们的代码反馈。如果他们已经开始进行下一个任务,然后才获得代码审查反馈,他们的工作效率会受到“上下文切换”带来的负面影响。

正确的VCS将速度和性能与内置的代码审查应用程序相结合。这减轻了测试和等待的压力。

DevOps挑战3:分布式团队

在当今的工作环境中,越来越多的人远程工作。根据调查,71%的人员来自多国地区或远程进行工作。

但即使大多数受访者都在分布式团队工作,大约一半的受访者也表示开发人员抱怨缓慢的提交和合并。

正确的VCS可以智能地分发源代码,因此所有开发人员 - 无论他们的位置如何 - 都觉得他们在同一台服务器上工作。更重要的是,他们总能确信他们正在检查的工作是正确的版本。

DevOps挑战4:管理构建工件

随着软件变得越来越复杂,资产的规模也在不断增加。但即使生产级资产正在增长,DevOps团队仍在努力管理这些资产。

只有28%的团队将其生产级资产保留在VCS中。虽然大约40%使用工件管理器。

假设您的VCS快速而安全,将生产级资产存储在VCS中非常方便:

它节省了资金。您不需要工件管理器的其他许可证。

它提高了安全性。

它提供了真相的来源。对于单一事实来源,源代码和构建工件都在一个地方。

它简化了DevOps。测试工具只有一个系统可以与之接口。

DevOps挑战5:可扩展性 

Git是开发人员和小型开发团队的绝佳资源。它是免费的,广受欢迎。

但是Git存在问题。它从来没有为大规模而设计。

现在有一些企业解决方案可以为开发人员提供他们熟悉的Git界面。但是,它们还可以获得可扩展性,全局复制以及用于移动文件和执行构建的高性能。这些是实现DevOps最佳实践的关键。这些是你无法从开源Git服务器获得的东西。
44%遵循DevOps最佳实践的团队将更换他们的VCS

你需要一个新的版本控制系统吗?几乎一半的受访者计划更换他们的版本控制软件。为什么?他们当前的VCS阻止他们实现DevOps和DevOps最佳实践,如CI / CD。

公司可以通过改进从VCS获得的产品来显着提高效率。想要实现版本控制最佳实践的团队选择Helix Core--最快,最安全的版本控制系统。或者他们选择Helix4Git来实现Git的规模性。

原文链接:https://www.perforce.com/blog/vcs/version-control-best-practices-affect-your-devops-challenges