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

简介: 5 月 17 日,根据 GitLab 在新闻稿中表示,“Arm Open Source 已决定将公司的多个开源项目从 GitHub 迁移到 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/

目录
相关文章
|
5月前
|
运维 Java Devops
阿里云云效操作报错合集之在进行GitLab代码分支迁移时遇到报错,一般是什么原因
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
6月前
|
jenkins 持续交付 开发工具
【gitlab】旧的gitlab项目迁移新的gitlab
【gitlab】旧的gitlab项目迁移新的gitlab
975 0
|
3月前
|
JavaScript 前端开发 Java
Github 2024-08-01 开源项目月报 Top17
根据Github Trendings统计,2024年8月共有17个项目上榜。按开发语言分类,项目数量如下:Python项目6个,非开发语言项目与TypeScript项目各4个,JavaScript项目3个,Java、Go及Vue项目各1个。其中,免费编程学习平台freeCodeCamp.org以381,011个Star数领先,提供全栈网页开发和机器学习课程。其他项目涵盖编程书籍、API集合、低代码开发平台等多种资源。
36 1
|
3月前
|
Linux 网络安全 开发工具
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
本文介绍了如何基于Linux Kernel 5.15.102版本和BusyBox创建一个自定义的迷你Linux ARM系统,并使用QEMU进行启动和调试,包括内核和BusyBox的编译配置、根文件系统的制作以及运行QEMU时的命令和参数设置。
261 0
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
|
2月前
|
Go 开发工具 git
在Qemu+ARM上运行Minix3内核
在Qemu+ARM上运行Minix3内核
|
3月前
|
人工智能 JavaScript 前端开发
Github 2024-07-01开源项目月报 Top15
根据Github Trendings统计,2024年7月有15个热门项目。按开发语言分类,项目数量如下:Python项目6个,JavaScript项目3个,C++项目2个,PHP、Blade、非开发语言、C#、Lua、Go、MDX、Jupyter Notebook项目各1个。这些项目涵盖技术重建指南、生成式AI教程、模块化GUI、云平台、数据库系统、视频生成模型、AI框架、Shell提示渲染器、Neovim配置、PDF转Markdown工具及语音识别等多种领域和技术。
101 0
|
3月前
|
人工智能 Rust JavaScript
Github 2024-06-01开源项目月报 Top20
根据Github Trendings统计,2024年6月共有20个项目上榜。按开发语言分类,项目数量如下:Python和TypeScript项目各有8项,Jupyter Notebook 3项,HTML、Java、Rust、Vue 和 Batchfile 各1项,C和Svelte也分别有1项。这些项目涵盖多种领域,从AI驱动的应用到游戏开发,反映了开源社区的多样性和创新力。
63 0
|
5月前
|
持续交付 开发工具 git
阿里云云效产品使用问题之在云效代码域中gitlab使用docker安装的,迁移时遇到“获取企业信息失败”,是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
68 5
|
5月前
|
开发工具 git
idea中git替换,推送到新的github或者gitlab上面
idea中git替换,推送到新的github或者gitlab上面
529 2
下一篇
无影云桌面