阿里配管专家解读:如何最优成本搭建非标准的iOS构建集群-阿里云开发者社区

开发者社区> 开发与运维> 正文

阿里配管专家解读:如何最优成本搭建非标准的iOS构建集群

简介: 在移动物联网大潮中iOS构建的重要性日益突出,如何能提供稳定的iOS构建服务?中大型的企业如何搭建、管理这种非标准的iOS构建集群?如何能做到集群搭建的成本最优?本文以alibaba集团的场景和大家分享iOS构建集群搭建的方案选型。

作者简介:董必胜(叔大),阿里巴巴配置管理专家,负责集团、蚂蚁的移动端构建,负责研发协同平台RDC无线。

背景:在移动物联网大潮中iOS构建的重要性日益突出,如何能提供稳定的iOS构建服务?中大型的企业如何搭建、管理这种非标准的iOS构建集群?如何能做到集群搭建的成本最优?本文以alibaba集团的场景和大家分享iOS构建集群搭建的方案选型。


我们都知道iOS的构建需要在macOS Sierra的系统上构建。针对我们构建集群的搭建有几种思路:

  • 直接采购mac mini、mac pro用于构建;
  • 在linux虚机里安装macOS Sierra(应用层);
  • 在PC、linux等裸机上安装macOS Sierra(系统层)。

一、 系统层虚拟化方案

在裸机上直接安装macOS Sierra。

这种机器在业界有个说法叫黑苹果,最著名的黑苹果论坛:https://www.tonymacx86.com/ 。详细装机文档:https://www.tonymacx86.com/threads/unibeast-install-macos-sierra-on-any-supported-intel-based-pc.200564/。
从文档可以看出:

装机过程比较复杂;
常见做法是在PC上直接装,PC机运维成本比较高; 无法做到自动化。

使用vmware的虚拟化工具 vmwareEXSi,测试验证结果:

1)最新版本6.5.0版本在mac pro安装失败,achi无法识别;
2)6.0.0patch2版本在mac pro安装成功一次,但安装后,访问虚拟机管理页面有错误。测试重启服务器,虚拟机自动重新开机不生效。部分帖子反馈,磁盘读取部分虚拟化有问题,读写效率低,目前未验证;
3)在惠普微服务器gen8上安装6.0.0版本,虽然6.0.0标记仅支持macOS10.10,但可以升级到macOS10.12.4;
4)烧制6.5.0EXSi后安装后,即使返回安装6.0.0patch2,EXSi安装后,能正常读取ip,但网络访问有问题,并且无法进入exsi系统的命令行模式;
5)借用Lenovo T4500,因网卡不识别,无法安装EXSi,可见EXSi兼容范围有限。

二、应用层的虚拟化方案

Windows + vmare + macOS Sierra,这种方案的装机文档网上比较多,不过也存在上述问题:

  1. 装机过程比较复杂
  2. 常见做法是在PC上直接装,PC机运维成本比较高
  3. 无法做到自动化

linux+ VirtualBox + macOS Sierra,这种方案存在一个问题,virtualBox只能支持 i386和AMD64的架构。

4670a96ed685c21bbdc4ca658758b500a0f9bee6

另外上述方案最大的优点在成本低。但是还有两个通用致命的问题:

1. 法务问题: https://store.apple.com/Catalog/US/Images/MacOSX.htm

根据MacOSX的使用协议, MacOSX 只能用在Apple-labeled computer,所以在部分企业基本不能使用非mac的机器用来做iOS构建


2. Permitted License Uses and Restrictions. A. This License allows you to install and use one copy of the Apple Software on a single Apple-labeled computer at a time. This License does not allow the Apple Software to exist on more than one computer at a time,and you may not make the Apple Software available over a network where it could be used by multiple computers at the same time. You may make one copy of the Apple Software (excluding the Boot ROM code) in machine-readable form for backup purposes only; provided that the backup copy must include all copyright or other proprietary notices contained on the original.

2. app上传问题:

从黑苹果用户了解到,在黑苹果机器上构建的app无法通过app store审核。也就是说你即使打出app也没发走官方渠道,只用用于framework构建或者一些越狱渠道。

三、直接用mac mini、mac pro搭建mac集群

这种方式装机的问题不存在,但是也存在一些问题

  1. 成本相比较下偏高,这个问题是相对的mac mini也才几k
  2. 运维也是非标的,运维标准化包括:
  • IDC的标准化,像BAT这种会自己搭建了符合IDC规范的机房

803ab64829f3b9fd51fa15dd998f13095932dc22

  • 装机的标准化,已有的OS升级安装等都可以实现命令行自动化
  • 监控的标准化:mac机器已经接入到服务端监控平台

说了这么多,总结下:

  • mac mini、mac pro的运维标准化已经在路上了
  • 黑苹果的包有法务、app store上传的问题,这条路在部分大企业是走不通的

扫码免费体验研发协同RDC

d06bfad45fad84a730b1aa3b7e993687656f5485

4f4e845bd429d3ef8d84e43447bd33e591acc6a3

点此立即预约

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章