如何在Xcode 9中使用Xcode服务器

由于Xcode服务器已内置到Xcode 9中,因此我尝试使用Xcode服务器来替换我现在用于CI的fastlane。

Xcode和Xcode服务器签名的新功能– WWDC 2017 –视频– Apple Developer
了解Xcode对代码签名的支持的新进展,包括更强大的分发签名,更好的开发者。developer.apple.com

设置Xcode服务器

首先下载Xcode 9,您将在Xcode Preferences中找到Xcode服务器。

单击右上角的关闭/打开按钮以打开Xcode服务器。 Xcode将询问您要使用哪个帐户来创建服务器。 建议创建一个新的。

然后Xcode将为您创建服务器,您只需要登录帐户即可。 服务器部分已完成,非常容易。

设置客户

现在您有了Xcode服务器,那么如何在其上配置CI? 创建一个客户帐户。 仍在“ Xcode首选项”中,切换到“帐户”选项卡,单击左下角的小加号图标,然后选择“ Xcode服务器”。

在弹出列表中选择您的服务器并登录。每个团队成员都可以在自己的Mac上创建一个客户帐户,如果他不想编辑服务器,则可以使用来宾帐户登录。

创建机器人

最后,我们可以通过单击Product-> Create Bot来创建运行CI的机器人。

Xcode将要求您配置Bot。 如果选择在构建配置上进行测试,构建参数和触发器,则紧随其后的是信息,git repo,构建配置,构建时间表,签名,测试设备。 您可以稍后编辑机器人。

您可以在Xcode报告导航器中检查该漫游器。

右键单击Bot,可以创建/编辑/删除Bot。 您可以在网页上查看该漫游器。 您可以触发积分。 单击集成将在右侧显示一个报告页面,该页面告诉您集成的状态,测试数据和日志。

苹果有一个旧的Xcode服务器行会,但是如果遇到麻烦,它会提供一些有用的信息。

Xcode服务器和持续集成指南:关于Xcode中的持续集成
提供有关使用Xcode Server和实施持续集成工作流的指南和示例。 developer.apple.com

分配

如果您以前使用过其他CI工具,例如Jenkins,fastlane,您会发现Xcode服务器没有那么强大。 如果将其用于构建项目和测试也可以,但是分发效果不佳。

OTA

OTA用于让质量检查测试应用程序ipa或安装Inhouse ipa。 Xcode服务器有一个内置网页,其中安装了OTA。 但是,您只能使用“ server.local”主机名安装ipa,这会使OTA仅适用于LAN网络。

扳机

另一种方法是使用触发器。 集成成功后,将ipa上载到HockeyApp等测试平台进行测试,或上载到testflight以准备提交。

例如,您可以添加集成后脚本以上传ipa。

如果使用fastlane,请使用“ ENV [‘XCS_ARCHIVE’]”模式在fastfile中获取环境变量。