设置 Xcode 服务器以创建存档并在提交时上传到 TestFlight

Setting up Xcode Server to create archives and upload to TestFlight on commit

到目前为止,我一直在手动存档并发布到 TestFlight。这不是问题,除非我将 arm7 作为受支持的 arch 类型,我的归档时间从大约 90 秒(仅针对 arm64)大幅跃升至 45-50 分钟。我的一些测试人员仍在使用 32 位设备(iPad 4,iPhone 5),因此无法从我支持的 arch 类型中删除 arm7。因此,我希望将 Xcode 服务器集成到我的工作流程中,这样我就可以在服务器存档我的最新提交时继续开发。

这让我想到了我的问题:设置 Xcode 服务器以创建存档并上传到 TestFlight(最好在推送到我的 GitHub 存储库时自动执行)涉及哪些步骤?

到目前为止我采取的步骤是:

  1. 设置Xcode服务器
  2. 创建机器人
  3. 重新输入我的 GitHub username/password(我收到身份验证失败,因为它们丢失了?)
  4. Select远程分支
  5. Select 存档(可安装产品和精简变体)并将配置设置为 Release
  6. 始终集成(提交时)和清理构建
  7. 为 iOS 台设备构建
  8. 选中允许 Xcode 服务器管理我的证书并自动将设备添加到我的开发者帐户。
  9. 将服务器添加到团队(出于某种原因,每次执行这些步骤时它都会被删除)
  10. 以下两页我至今留空。

此工作流的结果是我的服务器名称旁边出现红色感叹号,下面没有列出任何机器人。如果我再次通过创建机器人向导,我需要重新输入我的 GitHub 详细信息,并将 Xcode 服务器重新添加到我的团队。

至于上传生成的存档,altool 似乎是我需要的 (here)。目前,如果我能得到一个机器人来创建存档并让我手动上传到 TestFlight,我会很高兴。

至于服务器设置,请查看不久前 Honza Dvorsky wrote 的文章。自 2015 年以来,Xcode 的情况发生了变化,但基本思想仍然相同,您只需在 Xcode 内进行,而不是现在 Server.app。

再看看fastlane。您可以创建一个通道来创建存档并将其上传到 TestFlight(以及您希望它执行的任何其他操作)。然后,您可以创建一个 post 集成触发器,成功运行并触发通道。