跳转至正文

2026 年 iOS 应用最佳 CI/CD 平台对比

2026 年 iOS CI/CD 平台对比:GitHub Actions、GitLab、Bitrise、Codemagic、Appcircle、Xcode Cloud、CircleCI、Azure DevOps 以及 Capgo Build。

在 macOS 运行器上构建 iOS 应用的 CI/CD 平台对比

选择最适合 iOS App 的 CI/CD 平台取决于三个因素:App 用什么构建、code 目前托管在哪里,以及你愿意承担多少签名和 Mac 维护工作。Xcode Cloud 适合纯 Apple 原生团队;Bitrise、Codemagic 和 Appcircle 适合专注移动端的团队;GitHub Actions、GitLab CI、CircleCI 和 Azure DevOps 适合希望用一套 CI 处理所有任务的团队;而 Capgo Build 适合希望无需 macOS runner 就能构建 iOS 的 Capacitor 团队。本对比涵盖了 2026 年 iOS 开发中最重要的各项事实。

2026 年 iOS CI/CD 的变化

  • 必须使用 Xcode 26。 自 2026 年 4 月 28 日起,App Store Connect 会拒绝未使用 Xcode 26 和 iOS 26 SDK 构建的上传内容。你选择的任何平台都必须提供 Xcode 26 镜像,自托管 Mac 也必须升级。详情见 Apple 的 Xcode 26 要求.
  • Apple Silicon 是默认配置。 GitHub、GitLab、CircleCI、Bitrise 和 Codemagic 上的托管 macOS runner 均运行在 Apple Silicon 上。Intel 镜像正在逐步淘汰。
  • 仅剩两个托管服务。 Microsoft App Center 已于 2025 年 3 月 31 日停止服务。Ionic Appflow 于 2025 年 2 月停止新购,并将于 2027 年 12 月 31 日终止服务。使用其中任一服务的团队都需要寻找新的平台。
  • App Store Connect API 密钥已取代 Apple ID 登录。 现在每个主流平台都使用 .p8 API 密钥进行身份验证,从而避免了过去常让 CI 任务卡住的双重验证提示。

对比维度

iOS pipeline 的环节比 Web 端更多。以下是区分不同平台的关键问题:

  1. 谁来提供 Mac 设备? 托管、自托管,还是完全抽象掉。
  2. 如何处理签名? 手动管理 secrets 和 Keychain 脚本,还是托管证书和描述文件。
  3. 能否上传到 TestFlight 并提交审核 无需额外工具?
  4. Xcode 新版本的更新速度有多快?
  5. 如何计费? 按分钟、credits、并发数,还是包含时长。
  6. 它也支持构建 Android 吗? 大多数应用都会同时发布双端。

功能矩阵

平台 提供 Mac 环境 托管签名 上传至 TestFlight Android 计费模式
GitHub 操作 托管 arm64 runner (macos-15, macos-26) 或自托管 否,用 secrets 加脚本或 fastlane 通过 fastlane 或 altool 是 按分钟计费,macOS 费率高于 Linux;公开仓库免费
GitLab CI 托管 macOS runner(beta,Premium/Ultimate)或自托管 否,但 App Store Connect 集成可存储 API 密钥 通过 fastlane 是 各层级计算分钟数
Bitrise 托管 Apple Silicon 环境 支持证书和配置文件管理 内置步骤 是 构建分钟额度、套餐档位
Codemagic 托管式 Apple Silicon Mac mini 支持,可通过 API 密钥获取或创建描述文件 内置发布功能 是 按分钟计费或固定年费套餐
Appcircle 托管版或自托管 Appcircle Server 支持,提供签名身份存储 内置发布模块 是 套餐层级,企业自托管
Xcode Cloud Apple 托管 是,自动 内置 否 会员每月包含 25 小时,订阅可获取更多
CircleCI 托管的 Apple Silicon 资源类 否,使用 secrets 加 fastlane 通过 fastlane 是 各资源类别的每分钟额度
Azure DevOps Microsoft 托管的 macOS agent 或自托管 部分支持,需通过任务安装证书和描述文件 App Store 扩展任务 是 并行任务
Capgo 构建 由 Capgo 管理,可从任意 CI 调用 支持,提供引导式设置,配合 build init 内置功能,并支持提交审核 是 构建分钟数,见 定价

矩阵说明:“托管签名”是指平台为你存储或生成证书和描述文件,而不只是存储密钥。Capgo Build 只构建 Capacitor 应用;其他平台也能构建原生 Swift 项目。

逐平台对比

GitHub 操作

许多团队的默认选择,因为工作流就在 code 旁边。GitHub 托管 Apple Silicon macOS runner(macos-latest 目前指向 macOS 26 arm64),并安装了多个 Xcode 版本,你可以用以下方式选择其中一个 xcode-select 或 maxim-lobanov/setup-xcode.

所有 iOS 专属工作都由你负责:解码 .p12 到临时 keychain 中、安装描述文件、递增 build number、上传。大多数团队用 fastlane 做这些事。私有仓库的 macOS 分钟数计费远高于 Linux 分钟数,因此每个 pull request 都跑 iOS 构建,成本会迅速上升。

最适合:使用 GitHub 且能轻松维护 fastlane 的团队。操作步骤: 通过 GitHub Actions 自动构建 Capacitor iOS 应用.

GitLab CI

GitLab 在 GitLab.com 上为 Premium 和 Ultimate 套餐提供托管的 macOS runner(仍标记为 beta),运行在 Apple Silicon 机器(M1 和 M2 Pro)上。镜像按 OS 和 Xcode 命名,例如 macos-26-xcode-26. 在自托管的 GitLab 上,你需要注册自己的 Mac。

GitLab 的 Mobile DevOps 功能包含 App Store Connect 项目集成,可让 job 访问 API 密钥,从而简化 fastlane 配置。签名本身仍由你的脚本负责。

最适合:已在使用 GitLab Premium 的团队。指南: 在 GitLab 中配置 CI/CD.

Bitrise

一款移动优先的 CI,拥有庞大的 step 库。Bitrise 在 Apple Silicon 上为每个受支持的 Xcode 版本维护 macOS stack,通常会在 Apple 发布后不久推出新的 Xcode stack。Code 签名可通过 App Store Connect API 集成管理,在 build 期间下载或生成证书和描述文件。Step 涵盖 TestFlight 上传、App Store 部署以及多种测试工具。它还提供用于分阶段发布的发布管理功能。

定价按 credit 计费,因此在更大的机器上跑 iOS build 会更快消耗 credit。对小团队来说,它是较贵的选择之一;但对大型移动团队来说,它是最完整的选择之一。

Codemagic

从 Flutter 起步,现在已覆盖原生 iOS、Android、React Native、Ionic 和 Capacitor。Build 运行在 Apple Silicon Mac mini 实例上。配置位于 codemagic.yaml 或 UI 编辑器。自动 code 签名会使用你的 App Store Connect API 密钥来获取或创建正确的证书和描述文件,省去大部分 keychain 脚本操作。TestFlight 发布和 App Store 审核均已内置。

定价可选按构建分钟数按量付费或固定年度套餐,个人账户每月有免费额度。详见 使用 Codemagic 构建 Capacitor iOS.

Appcircle

一款移动 CI/CD 平台,集成了构建、签名身份库、测试者分发、企业应用商店和应用商店发布。其差异化优势在于部署选择:你可以使用云服务,或在自有基础设施上运行 Appcircle Server,这对无法将 code 或签名密钥发送到共享云端的受监管行业至关重要。混合框架则通过工作流步骤和自定义脚本构建。

Xcode Cloud

Apple 自家的 CI,可通过 Xcode 或 App Store Connect 配置。由于运行在 Apple 账户系统内部,签名是自动完成的,TestFlight 分发只需勾选一个选项。Apple Developer Program 会员每月包含 25 个计算小时,更多小时数可通过订阅购买。它支持连接 GitHub、GitLab 和 Bitbucket,包括自托管实例。

局限性:它仅构建 Apple 平台,因此 Android 需要另一个 CI。自定义工具需放入 ci_scripts shell hooks 中。对于 Capacitor 应用,你需要安装 Node 到 ci_post_clone.sh,构建 web 层,并运行 cap sync。请参阅 如何在 Xcode Cloud 中构建 Capacitor 应用.

CircleCI

一款通用型 CI,提供基于 Apple Silicon 资源类的 macOS 执行器和 Xcode 镜像。配置使用 YAML,并支持可复用的 orbs。签名和上传需自行处理,通常借助 fastlane 等工具 match。计费采用 credit 模式,macOS 资源类每分钟消耗的 credit 比 Linux 多。如果 CircleCI 已经在跑你的后端,这是个稳妥的选择。

Azure DevOps

Azure Pipelines 提供 Microsoft 托管的 macOS agent(macOS-latest)并支持自托管 Mac agent。它内置了 iOS 团队真正会用到的任务: InstallAppleCertificate@2 以及 InstallAppleProvisioningProfile@1 通过安全文件处理 keychain 和 profile 设置, Xcode@5 归档与导出,以及 App Store 扩展的 AppStoreRelease@1 任务会上传到 TestFlight。定价按并行作业数而非分钟计费。它适合以 Microsoft 为中心的组织,尤其是正在从 App Center 迁移的团队。

Capgo 构建

Capgo 构建 不是 CI。它是你的流水线从 Linux 任务中调用的构建服务(GitHub Actions、GitLab、Bitbucket、Gitea、Azure DevOps 或类似平台)。该任务运行 web 构建并 cap sync ios,然后向 Capgo Build 请求 iOS 构建:

bunx @capgo/cli@latest build request com.example.app --platform ios --build-mode release

Capgo Build 在云端编译并签名 iOS 应用,将日志流式传输回 Linux CI 任务,从 App Store Connect 递增构建号,并上传到 TestFlight。 --submit-to-store-review 将其提交至 App 审核。运行 bunx @capgo/cli@latest build init --platform ios 一次以在本地保存凭据。对于 CI,请使用 bunx @capgo/cli@latest build credentials manage 将签名和 App Store Connect 值导出为 CI 机密,然后传递这些值以及 CAPGO_TOKEN 改为 bunx @capgo/cli@latest build request.

值得注意的限制:它只构建 Capacitor 应用,且单次构建限时 10 分钟。它的主要优势是你的 pipeline 中没有任何任务需要 macOS runner,而且同一个 CLI 也能用于 实时更新 仅 web 的变更,因此很多发布完全跳过了原生构建。

Argent Cloud

Argent Cloud 由 Software Mansion 打造,同样不是构建服务。它负责构建之后的环节:在 iOS 模拟器上运行 App。你会得到专用的 Apple 硬件,配有隔离且预配置好的 iOS 模拟器,可通过网络访问。这样,Linux CI 任务或运行在 Linux 上的 AI 编程代理就能驱动 iOS 模拟器,团队无需自建和维护 Mac 集群。

它支持 Maestro、Appium 和自定义脚本,也能配合 Argent,Software Mansion 的 MCP 工具包,让 Claude Code、Cursor 和 Codex 等智能体能够点击应用、读取日志和网络请求,并进行性能分析。定价固定:每个 Runner 提供最多 6 个并行模拟器,运行在与其他客户隔离的硬件上,每月 $299 起,模拟器使用时间不限。

Argent Cloud 是对构建平台的补充而非替代:您可以继续使用上述任一服务进行编译、签名和 TestFlight 上传,并将 UI 测试和智能体指向 Argent Cloud 的模拟器。其主要优势在于,长时间运行的测试套件和智能体会话不再消耗按分钟计费的 macOS 时间。

Ionic Appflow 与 App Center

两者仍会出现在搜索结果中。App Center 已下线。Appflow 仅对现有客户开放至 2027 年 12 月 31 日,且不再接受新客户。如果您正在使用其中任一平台,请现在规划迁移。迁移指南: App Center 迁移 以及 Appflow 替代方案.

如何选择

你的情况 适用场景
原生 Swift,仅限 Apple 平台,小团队 Xcode Cloud
原生 iOS 和 Android,有专职移动团队,需要托管签名 Bitrise、Codemagic 或 Appcircle
必须自托管整个平台 Appcircle Server,或在 GitLab、GitHub 或 Azure DevOps 上自托管 runner
所有资源已在 GitHub 或 GitLab 上,团队熟悉 fastlane GitHub Actions 或使用 macOS runner 的 GitLab CI
微软技术栈团队,从 App Center 迁移过来 Azure DevOps
Capacitor 应用,想保留现有 CI 并避免使用 macOS runner 从你的 CI 调用 Capgo Build
频繁发布 Web 变更的 Capacitor 应用 上述任一方案,外加 Capgo Live Updates
UI 测试或 AI Agent 需要在 Linux CI 上运行 iOS 模拟器 上述任一构建平台,外加 Argent Cloud

成本:真正决定账单金额的因素

具体价格变动频繁,因此请对比计费模式而非单一数值:

  • 按分钟计费的托管 macOS (GitHub、GitLab、CircleCI、Codemagic 的按需付费模式):成本随构建次数和时长增长。缓存 CocoaPods 或 Swift 包,并对仅 Web 变更跳过原生构建,能最大程度降低成本。
  • 积分与套餐档位 (Bitrise、CircleCI、Appcircle):每月支出可预测,但机器规格越大,积分消耗越快。
  • 包含时长 (Xcode Cloud):在超出包含的 25 小时前都很便宜。
  • 并行任务 (Azure DevOps):按并发数付费,而不是按分钟数。
  • 固定月费模拟器 (Argent Cloud,用于测试):按预留模拟器块收取固定费用,长时间测试也不会增加账单。
  • 自建 Mac 节点:没有按分钟计费,但需要硬件、电费,以及工程师处理 Xcode 升级和 Keychain 问题的时间。

最省钱的 iOS build 就是不用跑的那一次。对于混合应用,把仅含 JavaScript 的变更通过 Live Update 下发,而不是发布新的二进制包,通常比更换 CI 供应商更省钱。

切换平台时的排查清单

  • 将你的分发证书导出为 .p12 连同私钥一起,在离开旧平台前完成导出。有些服务生成了私钥,却从未向你展示过。
  • 为新平台创建一个具有 App Manager 权限的 App Store Connect API key,而不是复用个人 Apple ID。
  • 检查新平台的默认 Xcode 是否为 26 或更高版本。
  • 迁移 build number 逻辑。如果旧平台会自动递增,新平台上的首次 build 可能会冲突。
  • 保留 ITSAppUsesNonExemptEncryption 中的 Info.plist 因此构建无需等待出口合规检查。

有关 pipeline 特定错误,请参阅 Capacitor 的 CI/CD:常见陷阱。如需查看专注于 Capacitor 且涵盖 Live Update 的对比,请参阅 Capacitor 应用的 CI/CD 平台对比.

为 Capacitor 应用提供 Live Updates

当 Web 层出现线上 Bug 时,通过 Capgo 发布修复,而不用等 App Store 审核好几天。用户会在后台收到更新,原生变更则仍走正常审核流程。

博客最新动态

Capgo 为你提供打造真正专业的移动应用所需的最有价值的洞察。