全球四千多个企业,包括谷歌,苹果,Netflix,甲骨文,腾讯,华为,京东,滴滴出行,小米,去哪儿,招商银行等等,都在使用 JFrog Artifactory 作为企业级持续交付平台,实现快速发布。JFrog Artifactory 开源版已经有10万+的企业用户量。
JFrog Artifactory 是风靡全球的一站式 DevOps 平台,它支持所有语言(Maven,Docker,NPM 等等)的软件开发,并且能够和任意的持续构建服务器(Jenkins, Bamboo, TFS 等等)做集成,记录软件发布的元数据,集成测试工具并收集测试结果,提供 REST API 支持自动化部署的工具,具备企业级的高可用和容灾备份功能。
全球大规模使用 Artifactory 的案例
谷歌
谷歌云平台基于 Kubernetes 搭建,目前能够支持每周启动20亿次服务,动态扩容,故障自动恢复,利用本地镜像私服(Artifactory)快速构建镜像,一旦云平台需要扩容,或者实现故障恢复,Artifactory 作为镜像中心始终提供可靠的服务,从而使得谷歌云平台上的应用时刻具备响应大规模并发请求的能力。
案例链接:
谷歌云平台自身如何使用Kubernetes?
谷歌的DevOps文化
Netflix
Netflix 内部使用 Spinnaker 和 Artifactory 作为快速上线服务的基石,Netflix 内部的微服务架构已经落地很久,他们将各种微服务产生的工件由 Artifactory 统一管理,所以 Spinnaker 的 Pipeline 会使用统一的 Artifactory REST API 拉取任何依赖,包括 Yum, Docker, NPM 等。得益于 Artifactory 高可用的设计,能够支持将并发流量从负载均衡(LBaaS)均匀分布到多个 Artifactory 节点。实现快速,自动化发布服务。一旦需要回滚,可以在 Spinnaker 上触发回滚事件, 使用脚本找到上一版本的工件,执行回滚上线。
案例链接:
Spinnaker-Netflix 的持续交付平台
每天发布1000次变更 - Netflix 的微服务实践和经验
Netflix如何在上万台机器中管理微服务?
VMware
VMware 通过搭建统一持续交付平台,为开发团队提供统一的代码合并流程,以及敏捷的 CI/CD 流水线,开发者可以最大程度的重用 Jenkins 任务,共享 Jenkins Slave 节点资源,实现软件服务快速发布,缩短代码变成公司利润的时间。
案例链接:
VMware 的持续交付平台
Adobe
通过统一的持续交付平台,Adobe 实现了研发效率的大幅提升,在印度研发中心的构建可用时间提早了5-6个小时;提升了30-40分钟的构建速度,因此每天能够实现10-15次构建;软件交付速度提升了5倍;发布速度从每年两次每月一次。
案例链接:
构建,打包,部署速度加快5倍 - Adobe完成DevOps的华丽转型
CA
CA通过搭建统一快速发布平台,为 CA 带来了巨大的变化,这些变化包含: 已经实现跨研发中心按需复制二进制包,能够实现在数分钟之内,快速构建一套环境,用户测试和部署,为产品发布实现最小化的配置;12GB 的构建结果之前需要400分钟拷贝到另一个研发中心。现在在新的方式下,拷贝只需花费12分钟,这得益于 Docker 的镜像打包,以及 Artifactory 基于 Checksum 的存储,不会重复传输未变化的文件。产品实现自动化更新;按需扩容构建集群。得益于这个快速发布平台,CA已经实现了快速发布,按需扩容构建环境,大大提升了 CA 软件的交付速度。
案例链接:
CA 搭建统一交付平台,实现快速发布
保险巨头 ING
ING 基于 Artifactory 等工具搭建了持续交付流水线,实现了:项目交付速度达到分钟级别;软件交付的质量得到巨大提升;大量漏洞安全的问题被提前发现和解决。
案例链接:
金融行业巨头 ING 如何搭建统一持续交付平台
腾讯英雄联盟
英雄联盟的创造者 RIOT Game 是 Artifactory 的重度用户,他们使用 Artifactory 作为高可用的 Docker 注册中心,进行全球大范围的实时分发,保障业务的高可用性。
案例链接:
【干货】英雄联盟选择JFrog Artifactory 作为Docker注册中心的八大理由
Cars.com
Cars.com 通过一系列的实践,完成了从传统 Java Web 应用到容器化的转型。得到的收获:使用 Docker 屏蔽之前5份环境的差异,实现一次构建,处处运行,大大减少运维中的重复性工作。使用 PowerTrain 的配置文件,让上线流程脚本化,实现不可变基础设施。使用 Artifactory 作为多语言的本地仓库,大大提高获取第三方依赖,和管理自研件的效率。
案例链接:
传统 Java 网站如何实现容器化?看看 Cars.com 如何玩转 Docker!
思科
思科内部的 DevOps 团队只有5个人,他们开发的持续交付平台包含 Jenkins,Sonar,Artifactory,为公司内部几万研发者提供的统一流水线的能力,大大提升了研发效率。
案例链接:
【案例】思科的5人DevOps 团队是如何打造千万工件级别,5中心持续交付平台的?
为什么大家都偏爱 Artifactory?
支持多语言包管理
支持多语言开发的二进制包(Maven,Docker,NPM,Debian,Pypi 等等),这样能够做到各种开发团队使用统一的流程进行软件交付,减少各个软件交付流程的差异性,降低交付成本。
支持元数据
元数据应该包含二进制包的版本,所包含的功能,测试的结果,部署的信息等等。常见元数据类型包括:
提供 API 实现自动化部署
例如通过一个命令行查出最新版本的工件,并且通过了所有的测试。Ansible/Puppet/Chef 脚本可以通过这些 API 来执行自动化部署环境,而无需人工干预,加快交付时间,减少交付人为错误。
例如通过一个命令行,查出近3个月内没有被下载过的包,成为清理垃圾文件的目标,然后使用 cron 任务定期删除文件。
代理第三方的依赖
作为按需下载的代理仓库
当第一个程序员通过代理仓库,下载了一个依赖,这个依赖会被缓存在仓库里,供 CI 服务器或者其他团队的程序员复用。
作为 Docker 镜像仓库(Mirror)
通过全量复制,实现 Docker 仓库的镜像。一般实现方法可以通过 rsync,或者 JFrog Artifactory 提供的实时复制功能实现。
支持工件升级
在工件升级的过程中,定义质量关卡,通过自动化测试结果进行自动决策,最后通过所有测试的工件,将通过 REST API 自动部署到生产环境,并且携带所有测试结果,让整个流程变得透明,自动化。
企业级 Docker 注册中心
Artifactory 作为企业级的 Docker 镜像中心有诸多好处:
支持多仓库分库管理,权限管理达到最细粒度
支持 LDAP/Group
镜像中心支持 Active-Active 高可用,一键配置容灾备份
支持大规模并发拉取镜像
一站式Docker镜像构建中心,镜像里包含的 ubuntu,nginx,war文件,第三方 Jar文件都在 Artifactory
删除镜像不需要停服
企业级功能
支持高可用
漏洞扫描
全球多地复制
支持对象存储
容灾备份
根据企业定制化仓库安全策略
总结
实现自动化交付的核心,除了需要统一管理多种语言开发的二进制包的仓库之外,还需要强大的元数据支持,包含测试结果,让您的持续交付的流程具备自动化决策能力,并且提供REST API 让二进制包变得可发现。
关于 Artifactory
JFrog Artifactory 是全球领先的 DevOps平台,支持所有语言包的管理,元数据,REST API,高可用等等。全球四千多个企业客户正在使用 JFrog Artifactory 作为企业级持续交付平台,实现快速发布。更多信息请咨询 info@jfrogchina.com
JFrog Artifactory 开源版下载:
http://www.jfrogchina.com/open-source/
JFrog Artifactory 企业版(免费试用):
https://www.jfrog.com/artifactory/free-trial/?lang=zh-hans#High-Availability