开发者社区> 云效鼓励师> 正文

阿里配管专家解读:如何最优成本搭建非标准的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

点此立即预约

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

相关文章
iOS项目环境基本搭建
iOS项目环境基本搭建
22 0
自建iOS构建流水线建设核心原理剖析
文章主要从iOS打包机远程构建的角度分析,整体链路脚本涉及的shell、ruby、security指令、xml以及iOS工程化相关知识,文章通过一个远程构建流程简单并重点的讲解了如何规避本地打包环境下的小的修改出包存在的大量人工操作,如何动态化配置证书、版本号等信息以及内测分发方式的避坑点。
31069 0
iOS 上传构建版本自动消失
构建版本不出现大多数都是由于info.plist文件中没有添加相应的访问权限或者对权限key值没有添加对应的value提示语。
226 0
用 Xamarin 和 Visual Studio 构建 iOS 应用
本文讲的是用 Xamarin 和 Visual Studio 构建 iOS 应用,当创见一个 iOS 的应用程序的时候,开发者们一贯倾向于使用那些由 Apple 公司提供的编程语言和 IDE: Objective-C /Swift 和 Xcode。
1864 0
6月15日云栖精选夜读:阿里配管专家解读:如何最优成本搭建非标准的iOS构建集群
在移动物联网大潮中iOS构建的重要性日益突出,如何能提供稳定的iOS构建服务?中大型的企业如何搭建、管理这种非标准的iOS构建集群?如何能做到集群搭建的成本最优?本文以alibaba集团的场景和大家分享iOS构建集群搭建的方案选型。
3659 0
+关注
云效鼓励师
云效非著名程序员鼓励师
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Facebook iOS App技术演化十年之路
立即下载
From Java_Android to Swift iOS
立即下载
深入剖析 iOS 性能优化
立即下载