写点什么

ARM 开源项目从 GitHub 迁移至 GitLab,ARM 内核团队:GitLab 真香!

  • 2022-05-18
  • 本文字数:2730 字

    阅读完需:约 9 分钟

ARM开源项目从GitHub迁移至GitLab,ARM内核团队:GitLab真香!

5 月 17 日,根据 GitLab 在新闻稿中表示,“Arm Open Source 已决定将公司的多个开源项目从 GitHub 迁移到 GitLab”。

 

GitLab 官方博客阐述了选择 GitLab 作为自托管平台的优点:最大化选择和成本效益,最小化供应商锁定。使用 GitLab 将允许 ARM 使用自己的工具,不像 GitHub 是一个黑箱。ARM 芯片占到了移动市场的 95%,而 ARM 公司的业务是 IP 授权,大部分核心基础设施部署在私有硬件上,安全对其至关重要。

 

Arm 所构建的软件属于支持性组件,能够与自家架构上的其他软件相集成。目前全球超过 95%的移动设备配备有 Arm 处理器,其软件也支撑着从传感器到云计算的众多应用场景。

 

Arm 杰出工程师兼软件社区高级总监 Andrew Wafaa 解释道,从公司内部的视角来看,这些支持组件“效果不是太好,但当它们遇上来自其他社区和项目的其他软件时,就会碰撞出奇妙的火花。”

 

他补充道,Arm 的目标是为软件开发者提供最好的 Arm 架构。而这些支持组件“利用到 Arm 架构中的丰富功能,帮助用户将这些功能与其他堆栈顺畅集成。”

GitLab 开源良好支持 Arm 自有工具


Arm 之前一直使用 GitHub 进行代码托管,但当前部署的大部分新型核心基础设施都运行在专有硬件之上。Wafaa 表示,“GitHub 其实是个黑箱,我们必须与之合作、或者把一部分工作交给对方来完成,而最终结果并不一定准确可靠,使得我们不得不规划更多审查。另外 GitHub 用的都是私有和专有代码……于是我们决定选择 GitLab。”

 

另外,Arm 也很担心托管在 GitHub 上的开源软件项目引发代码所有权争议。毕竟像 GitLab 这样的系统解决方案更适合广泛选项、良好成本效益并尽可能削弱供应商锁定等实际需求。面向 GitLab 的自托管迁移不仅有助于协作效率,同时也允许 Arm 软件继续被托管在自家技术堆栈之上。

 

对 Arm 来说,GitLab 的另一大优势在于开源属性,这样 Arm 就能使用内部工具支持这个开源生态系统。Wafaa 提到,“归根结底,使用开源产品有着非常积极的意义。”另一个重要因素在于,GitLab 是一款真正的企业级产品,其中提供的工作流程与 Arm 在 GitHub 上使用的流程非常相似。“无论是在术语、观感还是体验方面,从 GitHub 迁移至 GitLab 都不会有太大的差异。”

 

更重要的是,GitLab还是一款自托管企业级产品,Arm 当然非常重视这种出现问题时获得良好客户支持的能力。

 

Wafaa 同时强调,成本也是个重要考量因素,GitLab 在这方面同样做得不错。“着眼于未来的增长计划,成本降低就等于收入提升。”

 

Arm 公司目前有约 200 名外部贡献者在参与开源项目。Wafaa 表示,“GitLab 在成本方面确实具有吸引力,但按目前的体量看只能算是锦上添花。”之前参与 Arm 开源项目的贡献者更多,Arm 是为了顺应项目的 GitLab 迁移计划才临时缩减了人员规模。

全流程、全环节精细控制


Arm 正尽量将更多基础设施迁移至 Arm 架构上运行。Wafaa 提到,尽管 GitLab 最初并不支持 Arm,但对方“很高兴能和我们的工程团队合作,通过建立基础设施集成确保 GitLab 能够顺畅支持 Arm。”

 

“这种精细的访问控制能力已经成为我们的一大福音。我们也将其照搬至全球 Amazon 基础设施上,借此满足我们对于完全冗余、灾难恢复等 IT 功能的需求。”

 

作为一家知识产权(IP)厂商,Arm 对安全问题自然高度关注。因此,Wafaa 团队选择了逐步迁移,“以层层推进的方式稳健执行”。

 

“在部署中,我们必须与各个内部安全团队开展多轮沟通。好在进展相当顺利,迁移效果也符合预期。”

 

在首次“小规模部署”试水完成后,一切开始无缝运行。现在,公司内的任何用户都能在 Arm 上运行 GitLab。之后,Wafaa 和工程团队开始静待实际反馈。“特别是我们最关键的工程技术团队——内核团队。他们的需求非常特别,所以我们得加倍小心。”

 

好消息是在迁移至 GitLab 后,内核团队“一直赞不绝口”,这也让 Arm 开源项目 DevOps 负责人 Dean Arnold 感觉有点“恍惚”。Wafaa 坦言,“内核团队很少夸人的,现在他们说好,那一定是真的好。”

 

Arm 已经将约 90%的内容迁移至 GitLab,剩余部分也仍将继续。Wafaa 解释道,部分项目之所以需要更长时间,是因为其中包含复杂的工具,所以仍有些集成问题需要解决。

用指标说话:Arm 的迁移收益


在迁移至 GitLab 之后,Arm 获得了不少收益,包括:

  • 易于设置和集成 CI/CD

  • 成本节约了 15%到 20%

  • 每月平均节约下两到四人的管理工作时间

  • 工具简化

  • 在管道/代码上开展共享和协作的能力

  • 快速设置项目和团队介入

 

Wafaa 感慨,之前 Arm 需要将多个单独的组件缝合在一起。“GitLab 则带来了更多便捷的特性和功能,特别好。”

 

毕竟贡献者们也希望在自己的其他项目中使用这些功能,包括公司和个人使用。例如,就有工程师以个人身份使用 GitLab,而且希望获得完整的 CI 功能。

 

Wafaa 和 Arnold 现在都坚信,在迁移工作完成之后,未来的项目将迎来更快的启动速度和更短的开发周期。

轻松登陆云端


Arnold 目前正在研究如何共享某些管道,进一步加快各团队的采用速度。他认为到迁移完成时,Arm 将获得贡献者们最需要的大部分功能。

 

目前,Arm 正在 AWS 中使用 EC2 实例。展望未来,Arnold 预计跨云服务商的多云部署将更加无缝、且不必更改底层代码。“一旦能让人们全面接纳 GitLab,接下来的工作就是研究如何扩展,甚至可能考虑通过容器化方式增强高可用性。这些属于加分项,但后续肯定要做。”

 

“迁移至 GitLab 能帮助 Arm Open Source 实现高达 20%的成本节约,也让软件开发者得以利用 Arm 架构中的丰富功能特性。”GitLab 贡献者 Esther Shein 说道。

 

GitHub 和 GitLab 打响用户争夺战

 

2018 年 7 月,在微软公司宣布斥资 75 亿美元收购 GitHub 后,这笔交易引发了极大的热议。

 

被收购后,微软方面公开表示 ,GitHub 今后的运营会保持原有风格,以开发者至上原则,保持独立运作,微软只是为一家活跃的、成长中的硅谷独角兽公司提供稳定性。

 

但这桩交易依然引发了开源人士对开源社区所有代码的托管问题的担忧。

 

在面对开源以及其他公司的竞争时,作为一家全球顶级科技巨头公司,微软在商业战场上的强势和凶猛是毋庸置疑的。源于诺基亚、Hotmail、Skype 等前车之鉴,人们对微软的那些大手笔收购都抱着嘲讽、质疑的态度,GitHub 的收购案尘埃落定后也把不少开发者和企业推向了 GitLab。

 

GitLab 这边当然也没有闲着。

 

微软收购 GitHub 时,GitLab 除了高调发文祝贺之外,还直接在官网首页挂出了从 GitHub 快速迁移的工具和广告 ,并在 YouTube 上进行了一些迁移教学的直播,这一波操作让 GitLab 取得了不错的成果,平台项目导入量在几天之内增长近 10 倍,注册用户增长了数倍,GitLab.com 的服务器也进行了多次扩容,至此,GitHub 和 GitLab 的用户争夺战也正式打响。

 

未来,还会有多少像 ARM 的企业迁移选择从 GitHub 迁移至 GitLab 尚不得而知,但对于大多数开发者而言,“好用”才是王道。

 

参考链接:

https://about.gitlab.com/blog/2022/05/17/arm-open-source-makes-a-seamless-migration-to-gitlab/

2022-05-18 13:377120
用户头像
李冬梅 加V:busulishang4668

发布了 1222 篇内容, 共 836.6 次阅读, 收获喜欢 1316 次。

关注

评论 1 条评论

发布
用户头像
mark
2022-05-25 16:07
回复
没有更多了
发现更多内容

_Android 项目中 shape 标签的整理和思考,面试官不讲武德

android 程序员 移动开发

{Android}面对最近的话题,kotlin库

android 程序员 移动开发

[译] Android 的多摄像头支持,flutter登录

android 程序员 移动开发

{Android}一行代码起飞,2021年百度Android面试真题

android 程序员 移动开发

“我是培训 + 外包出来的,先收藏了

android 程序员 移动开发

“新常态”下的Android程序员要面对哪些压力,终于有人把安卓程序员必学知识点全整理出来了

android 程序员 移动开发

“终于懂了” 系列,android面试简历模板

android 程序员 移动开发

阿里云EMAS发布套餐订阅云服务

移动研发平台EMAS

[译]内存泄露的八种花样,快速从入门到精通

android 程序员 移动开发

可视化全埋点系列文章之元素标识篇

神策技术社区

可视化 全埋点

_ Dart 里的类型系统,android自定义控件开发入门与实战

android 程序员 移动开发

Logback基本使用

平凡人生

会议管理系统减少大中型企业的会议矛盾

低代码小观

企业管理 企业应用 管理系统 管理工具 会议管理

[译]掌握Kotlin中的标准库函数_ run、with、let,搞懂开源框架设计思想真的这么重要吗

android 程序员 移动开发

“吹Kotlin协程的,可能吹错了,谈谈我认为的高级Android开发到底应该是怎样的

android 程序员 移动开发

「安卓高级架构师」教你一种更清晰的Android架构,android原生开发技术

android 程序员 移动开发

[Android-Gradle]-搞定Groovy闭包这一篇就够了,小程序开发步骤

android 程序员 移动开发

[译] 改善 Android Studio 的构建速度,掌握这6大技能体系

android 程序员 移动开发

[译][2(1),android开发计算器源码

android 程序员 移动开发

zookeeper使用篇-Zookeeper Api实践,flutter下拉刷新上拉加载更多

android 程序员 移动开发

[译] 充分利用多摄像头 API,30分钟轻松入门flutter

android 程序员 移动开发

6.0反序列化漏洞分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

[译] 改善 Android Studio 的构建速度(1),美团移动端开发工程师

android 程序员 移动开发

[译][2,安卓应用开发项目

android 程序员 移动开发

“我是培训 + 外包出来的(1),flutter与android混合开发

android 程序员 移动开发

“阿里钉钉“Android 岗无缘二面,有幸内推进入“美团“送外

android 程序员 移动开发

「Android高工面试之旅」疫情失业裸面失败后,深入分析

android 程序员 移动开发

[译] Plaid 应用迁移到 AndroidX 的实践经历,安卓卡顿优化方法

android 程序员 移动开发

[译] 全新 Android 注入器 _ Dagger 2(三),android开发架构方案

android 程序员 移动开发

「大厂Android面试解析」20道面试灵魂拷问题,论程序员成长的正确姿势

android 程序员 移动开发

[译] Android 的 Java 9,10,11,作为程序员一定不要仅仅追求物质

android 程序员 移动开发

ARM开源项目从GitHub迁移至GitLab,ARM内核团队:GitLab真香!_语言 & 开发_李冬梅_InfoQ精选文章