问题
- 使用Unity Cloud Build构建iOS/Android应用程序时使用的时间过长。
- 我有一个deadline要赶,我要加快工程的构建速度。
原因
您注意到了Unity Cloud Build构建速度的明显下降。
您可能会注意到,这种情况多在构建iOS和Android应用程序时出现,一般需要一个多小时——与本地构建相比慢了很多。
您也许会发现,对于一个空的工程而言Cloud Build的构建需要20分钟,而本地构建只需要7分钟左右。
解决方案
与本地构建相比,Cloud Build一般需要数个额外处理步骤。
这主要是因为Cloud Build在构建时需要完成以下任务:
- 每次构建之前要先checkout —— 该步骤需要一些时间,取决于您的托管方案,托管仓库越小,checkout的速度越快。
- checkout之后,系统需要对其验证,决定是否需要构建库缓存 —— 首次构建时通常需要导入相当多的资源。如果库缓存处于启用状态,则后续的处理步骤会快很多。
Cloud Build的处理时间通常是本地构建的2到3倍,当然这也是由工程的大小决定的。如果您多次重启,或构建多次失败,则这些因素都可能会影响到构建速度。
每次构建工程时都需要checkout您的托管仓库。该步骤的所需时间通常取决于您的托管主机到我们的系统的连接速度。如果您发现构建速度异常缓慢,您可以检查您的工程托管站点的状态页面,找出可能存在的问题。规模较大的托管商例如GitHub或BitBucket都提供有它们自己的状态页面,与Unity Cloud构建状态页面类似。
如果您使用了库缓存,则工程的首次导入使用的时间一般会长一些,因为需要先完成库的构建。首次成功构建后,后续构建速度就会相对快一些。如果您遇到了库缓存相关的问题,请点击此处阅读相关的提示。
Unity Cloud Build是一个一体化的系统,其强大之处在于拥有构建可发行的并发构建。您可以一次性地为所有平台构建,更加方便测试。例如您可以为Google Play商店,Amazon App商店、正式发布版本以及不同的iOS版本同时进行构建。
通过这一特性,您就拥有了整合构建工作流的能力,它允许您进行短时间冲刺,及时完成deadline,您的开发者也不必过于等待本地构建的完成。
如果您发现构建时间异于平常,您可以点击此处发送Cloud Build ticket,或也可以在Cloud Build论坛告诉我们。Cloud Build团队可以帮您检查构建您的工程的构建客户端,帮助您寻找并解决问题。
重启同样会增加构建的时间,如果您多次遇到重启问题,请点击此处了解相关信息。
更多信息
Unity Cloud Build正成为很多开发者工作流程中的重要一环,有大量的开发者对大型项目的构建速度,构建条件有着苛刻的要求。
对于此类客户,我们会准备专门的服务器。虽然Cloud Build是免费的,但企业级的客户需要为专用服务器按月付费。
如果您认为您的工程需要使用专门的服务器来构建,可以联系cloudbuild@unity3d.com获得相关信息。更多有关文档请点击这里。