使用Xcode Cloud将App Store Connect构建与GitHub上的每个新版本一起发布。
在大型项目中,一个常见的问题是,人们不知道哪次提交实际上是为了在App Store上发布。
也许你在制作前一个版本时很匆忙,忘记在GitHub中标记它?或者甚至忘了合并你正在工作的分支,所以发布的代码不在主分支中?
在分析错误报告和避免重复工作时,知道哪些代码在发布中是至关重要的。CI/CD是解决这个问题的一个办法。通过把部署应用的过程转移到GitHub,你可以保持良好的分支和发布标记策略。
Xcode Cloud是苹果平台开发者在应用中使用持续集成和交付(CI/CD)的绝佳机会。通过Xcode 14,所有苹果开发者都可以使用,并且完全内置到Xcode中——为你的应用项目配置CI/CD简直太简单了。
在Xcode Cloud中创建工作流之前,我们需要确保项目中的一切都正确设置。提前正确配置所有内容可以消除cloud中的意外构建失败。
大多数项目可能已经在这里配置正确了。你想要构建的方案需要对Xcode Cloud可用,并且目标需要启用 Archive
选项(在构建下)。
为了确保它是,选择编辑方案(⌘ + ;
),看看是否一切正常。
最简单的方法是使用Swift包,它几乎不需要额外配置。
你只需要批准你的 Package.resolved
文件在$filename.xcodeproj/project.workspace/xcshareddata/swiftpm/Package.resolved
在你的Git仓库中可用。
Xcode Cloud使用这个文件而不是自动包解析来解决SPM依赖关系。请注意,该文件在项目的 .gitignore
中可能会被忽略。
如果你的项目依赖于私有SPM依赖项,Xcode Cloud中的构建将会失败,但会在构建日志中告诉你如何使依赖项可用。
Xcode Cloud也可以解决来自CocoaPods或Carthage的依赖,但这需要额外的设置,超出了本文的范围。如果你感兴趣,可以参考苹果关于审查第三方依赖关系的文档。
你现在准备为你的项目创建一个工作流。
进入Report 导航器(⌘ + 9
),在 Cloud 标签下按 Get Started…
。如果你已经创建了一个工作流,你可以改为右击目标,选择 Manage Workflows…
来创建一个新的工作流。
Xcode将指导你创建一个新的工作流,从选择你想要使用的目标开始。大多数配置是在Review Workflow页面上完成的。按下工作表底部的 Edit Workflow…
要在新版本上为App Store Connect建立一个新的应用,你要改变三个设置。
在 Environment 设置中,启用 Clean
选项,以便从头开始构建每个部署。这是Xcode Cloud在为Release构建时的一个要求。
添加一个新的基于 Tag Changes
的开始条件,并删除一个基于分支的条件。你可以进一步配置start conditions,例如要求提交的内容必须带有某个标签(如 Release
)。
在 Archive 设置中,你要选择 App Store
作为部署准备。如果你启用了TestFlight,你可以在创建工作流后在这里选择Test Flight替代方案。
按保存,进入下一步,授予访问权限,并将工作流程连接到你的GitHub仓库。
恭喜!就像这样,你已经用Xcode Cloud在你的应用项目上设置了CI/CD。当你在GitHub中创建一个新的标记版本时,Xcode Cloud将调用并构建一个你的应用程序的新版本,你可以在app Store Connect中管理。
翻译自:https://betterprogramming.pub/