您现在的位置是:数据库 >>正文
如何建设一个用于编译 iOS App 的 MacOS 云服务器集群?
数据库95567人已围观
简介作者:京东零售 叶萌现代软件开发一般会借助 CI/CD 来提升代码质量、加快发版速度、自动化重复的事情,iOS App 只能在 mac 机器上编译,CI/CD 工具因此需要有一个 macOS 云服务器 ...
作者:京东零售 叶萌
现代软件开发一般会借助 CI/CD 来提升代码质量 、何建加快发版速度、用于云服自动化重复的编译事情,iOS App 只能在 mac 机器上编译 ,集群CI/CD 工具因此需要有一个 macOS 云服务器集群来执行 iOS App 的何建编译。
今天就来谈谈如何建设 macOS 云服务器集群
购买 mac mini / Mac Studio 机器
最简单的用于云服方式就是购买一批 mac 机器,买它个 1000 台,编译买回来后放入机房,集群把其中一台机器作为管理机 ,何建申请办公网访问这台机器的用于云服网络权限 ,每次要维护这批机器里的编译软件时 ,服务器租用先从办公网进入管理机,集群然后从管理机在远程连接到其他机器 。何建
虚拟化 macOS 集群
借助 macOS 官方的用于云服 Virtualization.Framework ,可以分钟级创建 macOS 虚拟机,编译这种方式创建的虚拟机性能 、稳定性、安全性都很高,可以持续采用更新、更快 、更高级的 mac 硬件,最终实现更快的 App 编译速度 。
在企业内部申请 macOS 机器,亿华云需要经历申请预算、领导审批 、采购 、运输 、部署至机房等繁琐步骤 ,现在可通过购买高配置的 mac 机器 ,然后再将其按需配置成多台虚拟机 ,减少了硬件维护成本,提高了扩容效率 。这方面代表性产品有
https://github.com/cirruslabs/tarthttps://www.macstadium.com/anka移动端 CI/CD 平台 bitrise 采用的是这种方式,只不过他们做了很多自研工作,打造了 Gen2 编译基础设施 ,宣称能让客户更快、香港云服务器更频繁的发布 App
云端管理 macOS 服务器
自行购买并维护 mac 机器还是不太方便 ,成本很高 ,如果能云端管理 、按需付费就更好了。亚马逊的 AWS 解决了这个问题,他家的 Amazon EC2 Mac Instances 能让我们按需申请 macOS 服务器 ,如果能接受云端服务的话 ,其实这种方式最省事 。与这种服务类似的产品有
https://flow.swiss/mac-bare-metalhttps://www.scaleway.com/en/hello-m1/在 linux 里运行 macOS 虚拟机
sickcodes/Docker-OSX 是最近流行的云计算一个项目。
借助 KVM 技术,实现了在 linux 里运行 macOS 虚拟机借助 docker ,简化了 macOS 虚拟机的部署这个项目具有很多优势,例如
不依赖专门的 Apple 硬件,能够运行 KVM 的 x86_64 机器就行能够通过 docker 容器来部署 macOS 虚拟机 。未来借助 k8s ,能够实现大规模 macOS 服务器的管理 ,轻易实现扩缩容也有风险
不太合规 ,macOS 正常只能在 Apple 硬件上运行在 KVM 里运行 macOS,兼容性、性能 、免费模板稳定性需要评估。如果出现问题需要付费找项目维护者解决我在裸金属上利用 Docker-OSX 项目确实跑起来了 macOS 虚拟机。运行该项目有以下几点要注意
linux 宿主机需要支持嵌套虚拟化(Nested Hardware Virtualization)。开启硬件虚拟化后才能安装 kvm。裸金属和物理机正常都支持对 Linux 内核有要求 ,操作系统最好比较新 ,CentOS 8 可以,CentOS 7 不行在 Apple 硬件上用 k8s 来调度 macOS
有没有可能在私有云里实现 aws 这种 mac 管理体验呢 ?MacStadium 家的 Orka 平台做到了。Orka 有以下好处
1 - 降低了 mac 集群的管理成本
花时间更少,例如管理服务器 、在服务器上安装软件利用 Kubernetes 调度 mac 服务器 ,这与 Linux 服务器的管理保持一致,方便融入公司已有技术栈
2 - 在真正的源码下载 Apple 硬件上运行 mac 虚拟机
不用担心兼容性、稳定性 、性能问题3 - 用心为开发者设计
提供多种操作方式(命令行、REST API)来管理 mac 虚拟机对于企业来说,可以考虑购买 Orka 平台,在私有云里面搭建 macOS 云服务器集群 。GitLab SaaS 版也是使用这种方式来提供托管的 macOS Runner 的
总结
我讲了建设 macOS 云服务器集群的 5 种方式,这些方式各有利弊 ,总的来说 :
如果能接受使用云服务器 ,建议直接购买 AWS 的 Amazon EC2 Mac Instances,方便、成本低自建机房 ,如果计划建设的 macOS 集群规模很大 ,建议购买 MacStadium 的 Orka 平台来建设,专业服务,避免踩坑 ,省时省力自建机房 ,如果 macOS 集群规模比较小 ,对自动化要求不高,建议购买高配的 apple 硬件,然后通过 Virtualization.Framework 虚拟化出多台 macOS 机器 ,整体架构比较简单,也能解决问题Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“算法与编程”。http://www.bzli.cn/html/091c7899830.html
相关文章
Web 3.0 对软件行业的影响
数据库和许多突破性技术一样,区块链背后的中心思想很简单,但被周围的点缀与喧嚣所掩盖。从本质而言,这是一个纯技术性想法,但它的魅力与预期的正相反:通过媒介传播,它变得更加安全。区块链的概念源自《中本聪白皮书》 ...
【数据库】
阅读更多倍轻松牌子的品质与性能评估(解析倍轻松牌子的创新科技与用户体验)
数据库倍轻松牌子是一家专注于生活家居产品设计和制造的品牌。其产品以创新科技和用户体验为核心,致力于为用户带来更加舒适和便利的生活体验。本文将对倍轻松牌子的品质与性能进行评估,并深入解析其创新科技与用户体验。 ...
【数据库】
阅读更多大乔上分攻略-打造无敌战队,征服战场!(如何以大乔为核心英雄,提升胜率,快速上分!)
数据库在《王者荣耀》中,大乔作为一个强大的辅助英雄,拥有极高的生存能力和强大的控制技能,能够在战场上给予队友强力的支持。本文将带领读者深入了解如何以大乔为主角,制定合适的策略和战术,打造无敌战队,征服战场, ...
【数据库】
阅读更多