借助 Xcode Cloud 工作流程大幅提升构建效率

An app icon is centered on a blue gradient background. The icon is a white rounded square with a light blue grid pattern, featuring a blue cloud symbol in the middle. A black, three-dimensional hammer rests diagonally across the cloud.

无论你正在开发首款 App,还是正在将某个版本发布到 TestFlight,Apple 的持续集成和交付服务 Xcode Cloud 都能助你实现构建和测试工作流程的自动化,而无需面对复杂的构建基础架构管理。借助 Xcode Cloud,你可以专注于最重要的事情,即将创意变为现实,而自动化工作流程会处理 App 构建、测试和部署这类重复性任务。

在这里,Xcode Cloud 团队提供了五个工作流程,可帮助你显著提高日常工作效率。


刚刚上手?

要快速上手使用 Xcode Cloud,请参阅开发快速入门指南 (英文)

关于工作流程

Xcode Cloud 工作流程是一系列自动执行的操作,在满足特定条件时运行。你可以将它视为一份执行清单,它告诉 Xcode Cloud,“当 X 发生时,执行 Y。”例如,你可以创建工作流程,让它指示,“每当有人提交拉取请求时,构建 App 并运行所有测试。如果所有测试均通过,则向团队发送 Slack 通知。”

每个工作流程的构成要素如下:

  • 启动条件: 触发工作流程的条件 (如拉取请求、代码推送或计划)
  • 操作: 工作流程被触发时会发生什么 (构建、测试、归档或分析)
  • 后续操作: 主要操作完成后会发生什么 (发送通知或部署到 TestFlight)
  • 环境: 使用的 Xcode 版本和 macOS 版本

如需进一步了解工作流程设置,请访问我们的文档。


  1. 自动验证每个拉取请求

问题: 在合并之前,你需要知道提议的更改是否会导致构建失败或不能通过测试。

解决方案: 创建自动验证工作流程,以构建并测试每个拉取请求,从而快速获得反馈来了解是否可以安全合并做出的更改。启用拉取请求验证后,每个新的或更新的拉取请求都会自动触发构建并运行测试套件。结果会直接显示在 Xcode 和 App Store Connect 中,因此可以轻松看到提议的更改是否已可以合并。

设置:

  • 在 Xcode 中:选择 Xcode Cloud 下的“集成”>“创建工作流程”
  • 名称:“拉取请求验证”
  • 启动条件:“任意分支”或一组自定分支上发生“拉取请求变更”
  • 操作:针对目标平台 (iOS、macOS、Apple tvOS、watchOS) 进行构建和测试
  • 后续操作:在成功和失败时发送电子邮件通知
  • 环境:选择 Xcode 版本和兼容的 macOS 版本

专业技巧: 如果测试套件内容繁杂,请创建一个单独的方案,其中仅包含最关键的测试,这样既能快速获得反馈,又能发现主要问题。


  1. 在开始每天的工作时获得全新且经过测试的构建版本

问题: 经过一整天不同团队成员多次提交代码后,你并不确定最新代码是否真的能够正常运行。

解决方案: 安排夜间构建,以自动编译、测试和打包你的 App。这个工作流程会生成最新的夜间构建版本以供测试,快速发现回归问题,并确保代码库始终经过验证,从而让你的团队在开始每天的工作时都能获得反馈和准备就绪的全新构建版本。

设置:

  • 触发条件:按计划 (例如,主分支每天凌晨 2 点)
  • 分支:开发分支或主分支
  • 操作:构建、测试、归档
  • 归档分发操作:将归档分发给内部 TestFlight 测试员

专业技巧: 将夜间构建版本设置为针对所有平台和配置运行完整的测试套件,这样既能确保全面的测试覆盖,又不会阻碍开发。


  1. 快速获取有关新功能的反馈

问题: 你希望在处理功能分支时尽早发现问题,但运行完整的测试套件耗时过长,难以实现快速迭代。

解决方案: 创建轻量级工作流程,在功能分支上运行有针对性的测试,让你无需等待即可快速获得反馈。这个工作流程非常适合日常开发;无需等待运行全面的测试套件,即可快速验证最重要的功能。

设置:

  • 触发条件:推送到匹配 feature/* 的分支
  • 流程:构建、测试 (采用轻量方案)
  • 可选条件:仅在相关文件发生更改时运行

专业技巧: 针对不同测试范围创建单独的测试方案 (单元测试、集成测试、UI 测试)。在功能分支工作流程中选用速度最快的测试方案。


  1. 立即将 App 分发给测试员

问题: 你修复了错误或添加了功能,希望测试员立即进行测试,但手动构建并上传到 TestFlight 会耗费很长时间,而你无法腾出这些时间。

解决方案: 使 TestFlight 分发实现自动化,确保代码推送后数分钟内,最新构建版本即可送达测试员手中。快速分发有助于你的团队在真实环境中验证用户体验的变化、错误修复和发布候选版本,同时将等待时间降至最低。

设置:

  • 触发条件:推送到 testflight/* 分支或合并后手动触发
  • 操作:构建、测试、归档以进行 TestFlight 分发
  • 后续操作:分发给内部或外部 TestFlight 测试员

专业技巧: 在分发前仅运行最关键的测试,以便测试员及时获得经过验证的构建版本,同时避免不必要的延迟。


  1. 使 App Store 发布流程实现自动化

问题: 发布当天需要完成大量手动步骤 (构建、测试、归档、上传),不管出现任何错误,都意味着要从头开始。

解决方案: 使整个发布流程实现自动化,以便为版本添加标签后,可以自动生成生产就绪型构建版本。通过将发布流程与版本标签关联,可以让发布具备可预测性和可重复性。每次添加标签,都会自动生成经过验证的生产就绪型构建版本并归档到 App Store Connect。 这样不仅节省了时间,还减少了人为错误,让你对每次发布更有信心。

设置:

  • 触发条件:添加标签 (例如 v1.0.0、v1.1.0)
  • 操作:构建、测试、归档
  • 后续操作:通过电子邮件和 Slack 发送通知

专业提示: 对标签 (v1.0.0、v1.1.0) 进行语义版本管理,让发布流程具备有序性和可预测性。


要点

请记住: 最好的工作流程就是你会实际采用的那个工作流程。首先从一到两个工作流程开始着手,等你体会到带来的好处后,再扩大自动化范围。不久之后,你就会感慨:以前没有这些自动化工作流程的时候,自己究竟是怎么工作的。