2017年WWDC上出现的每一张脸上都松了一口气,这是一个关于“ 签署Xcode和Xcode Server的新内容”的会议。

为什么使用Xcode 9的Xcode Server?

Apple为持续集成Xcode 8引入了一个基础,其中iOS 开发人员必须设置OSX服务器应用程序或macOS Server应用程序,将Xcode服务与macOS服务器应用程序集成,然后为持续集成创建Xcode bot。但是,将Xcode Server与macOS应用程序和Xcode Service一起使用仍然是代码签名和并行执行的一场战斗。

使用Xcode 9,所有这些都是历史。Xcode的这次升级已经失去了所有的混乱,现在它也变得更加容易和高效。

第一个也是最重要的优点是您不需要单独的macOS Server应用程序。

Xcode Server bot可以通过在服务器机器人中引入的新选项卡的帮助,在多个设备和模拟器上自动配置设备来管理代码签名和并行测试。

现在可以通过自动签名进行开发和分发签名。

分发IPA由Xcode服务器通过自动或手动签名创建。

如何设置Xcode Server?

只需选择Mac和Integration用户,即可使用本地Mac或其他Mac设置Xcode Server。要了解启用Xcode Server的过程,请查看下面的图片。

适用于iOS应用程序的Xcode Bot创建

可以通过进入产品选项卡 – >创建机器人并根据您的名称命名机器人,从Xcode创建机器人。然后将GitHub Repository添加到机器人,使用SSH,您将被要求通过Xcode信任身份存储库。您只需选择“信任”并使用现有SSH密钥的凭据。成功完成授权后,构建应该能够进行配置。

构建的配置是我们可以配置我们想要执行的事情作为构建的一部分的最关键的阶段,主要部分如下:

方案

分析,测试,存档

配置

这是机器人配置屏幕所需的,您可以设置方案并根据您的要求选择要执行的操作。

安排机器人集成是下一步,您可以根据需要进行设置。

代码签名可以添加到我们的机器人,这是下一步。我们可以让Xcode服务器通过访问Xcode Server来为我们做所有事情,或者选择手动签名,我们必须从服务器机器中选择证书。

通过机器人可以进行并行测试,即我们可以通过选择用于测试和检查“并行运行测试”的设备,在多个模拟器上启用并行执行。

Bot触发器也被添加到机器人中,通过它可以通过电子邮件通知您自己和在iOS应用程序上工作的许多其他人关于机器人集成的成功或失败。在此电子邮件中,您将找到成功或失败消息,服务器信息,问题数量和已完成提交的列表。还应该有一个链接来下载集成日志或在Xcode中打开它。

Integration Result 是下面列出的东西的完整组合:

整合摘要

测试报告

代码覆盖率

提交信息

集成日志

看起来像下面显示的图像。

您可以直接从此处下载IPA以创建iOS应用程序的构建。或者,您可以从日志选项卡或通过bot触发器收到的电子邮件下载包含IPA的整个集成日志以及许多其他内容,例如buildService日志,xcodebuild日志,xarchive数据等等。

结束与Xcode Server的持续集成

有一件事是与Xcode Server的持续集成不支持,测试Pull请求,Xcode Server为iOS开发人员做的唯一任务就是将IPA上传到iTunes Connect,Diawi或TestFlight。

但是,除了这些之外,通过引入Xcode Server,Apple通过帮助我们以单击次数实现持续交付来减轻我们的负担,最好的部分是我们不需要管理CI服务器或编写构建脚本。