用例-构建一个全局CI/CD基础设施
为什么思科选择JFrog Artifactory作为其通用工件存储库管理器


Prathibha Ayyappan
软件工程师,构建管理服务,思科
思科,三万名网络工程师遍布世界各地
思科公司成立于1984年,是世界上最大的网络公司。它的各种各样的硬件和软件产品和服务被每个行业的所有细分市场所使用,从大公司到小企业和hth华体会最新官方网站初创公司到大众市场消费者。在思科超过7万名员工中,有3万名工程师分布在全球各地的开发中心。思科的构建管理服务团队为公司的工程师提供CI/CD工具和服务。该团队的任务是创建一个通用的CI/CD环境,为公司的全部开发人员提供服务。然而,本着思科自由运营的政策精神,公司不会强迫任何人加入。

思科为什么选择JFrog Artifactory
在2014年项目的初始阶段,思科进行了严格的评估过程,最终在竞争对手中选择了Artifactory。主要原因是Artifactory的通用特性,支持所有主要的构建工具、CI服务器和打包格式。作为一家基于嵌入式软件、使用rpm作为网络硬件的公司,思科尤其需要Artifactory对YUM存储库的广泛支持。

全球CI/CD服务的发展
CI/CD服务的最初推出包括从公司的罗利-达勒姆(RTP)站点运行的Artifactory Pro的独立安装。为了在思科的主要工程站点提供更好的性能,该服务的主要安装被迁移到圣何塞(SJC)数据中心。由于Artifactory的复制能力,将San Jose设置为主站点,将故障转移到RDP中的原始位置作为其DR站点非常容易。

然而,Cisco的国际站点仍然没有获得最佳性能,因此团队设置了额外的安装,再次使用Artifactory的复制和读取缓存来将所有存储库与圣何塞的主安装同步。在这一点上,所有的客户都很高兴,并且从他们的CI/CD管道中获得了出色的性能……直到出现停机。宕机本身不是问题;客户继续获得服务,然而,一旦中断被修复,由于Artifactory已经被大量使用,带宽有限,需要几个小时才能恢复主站点。这清楚地表明,只有一个主节点是不可接受的单点故障,并且不能容忍需要跨国家复制才能恢复的中断。

为了消除中断的威胁,圣何塞主站点上的Artifactory设置为高可用性配置。思科的构建管理服务团队承诺提供高达5 - 9的可用性,他们知道他们可以为其在美国和全球各地的远程站点的所有客户提供强大、可靠和高性能的服务。但是还有一个问题。在美国和国际站点之间,以及在它们之间建立存储库以及复制和代理关系,复杂的手动配置过程意味着可能需要60到90分钟才能将存储库提供给开发团队。随着项目的普及,冗长且容易出错的手动配置过程成为了瓶颈。因此,该团队开发了一个应用程序,将整个供应过程自动化。该应用程序严重依赖于Artifactory的REST API,创建了存储库、用户、权限目标、复制关系以及为客户提供存储库所需的任何其他东西。这种自动化将供应时间平均减少到2分钟左右,减少了98%的时间,并且是一个自动化的无错误流程。
总结

Artifactory Universal Repository Manager被Cisco选中,因为它的CI/CD基础设施为该公司30,000名强大的工程人员提供服务。Artifactory对所有主要打包格式的支持,特别是YUM存储库,使其成为思科的自然选择,因为思科的工程师在嵌入式软件的rpm方面有很强的基础。基础设施经历了几个阶段的发展,直到达到当前的体系结构,其中四个站点通过复制关系以及虚拟和远程存储库连接。为了满足全球不同团队对基础设施日益增长的需求,该团队使用Artifactory的REST API通过自动化极大地减少了98%的配置时间。很明显,Artifactory是思科的正确选择。在一年之内,超过4500名工程师使用这个系统来管理他们的构建和工件。由于使用Artifactory的REST API实现了自动化,在配置存储库中节省了超过1800小时的手工工作,预计在下一年节省的工时将达到4400小时。

