跳转至正文
产品

无需 Mac,为 Capacitor 和 CI 提供云端 iOS 构建

无需 Mac,即可从任意 CI 构建并签名 iOS 和 Android Capacitor 应用。在 cap sync 之后只需执行一个 CLI 步骤,可选提交至 App Store 和 Play。

无需 Mac 的云端 iOS 构建,适用于 Capacitor 和 CI Capgo 的博客插图

Capgo 云端构建 帮助 Capacitor 团队无需自备 Mac 即可构建并签名 iOS 和 Android 应用。保留你现有的 web 构建、测试以及 npx cap sync 接入现有流水线,然后调用 Capgo 构建 只需一个 CLI 步骤即可获得签名二进制文件,并可选提交到应用商店。产品概览和定价请参阅 Capgo Native Build。具体任务的解答在 Capacitor 无需 Mac 的 iOS 常见问题.

我们要解决的问题

构建原生移动应用一直是 Web 开发者的痛点。你需要:

  • 本地开发工具:在本地安装并维护 Xcode(30+ GB)和 Android Studio
  • Mac 访问权限:传统上,发布 iOS 构建需要每台开发机器和发布流程都具备 Mac 访问权限
  • CI/CD 配置:配置复杂的 GitHub Actions 或其他 CI/CD 工作流,包括构建缓存、凭据管理等
  • 依赖管理: 确保各环境下的构建工具、SDK 和证书始终保持最新

如果可以跳过这些繁琐步骤,只需运行一条命令呢?

隆重推出 Cloud Build

有了 Capgo Cloud Build,构建应用只需:

# First time: Save your credentials locally
npx @capgo/cli@latest build credentials save --platform ios
npx @capgo/cli@latest build credentials save --platform android

# Then build
npx @capgo/cli@latest build com.example.app

搞定。无需 Xcode,无需 Android Studio,无需复杂的 CI/CD 配置。只需一条命令即可:

  1. 在本地将项目打包成 zip
  2. 将其上传到 Capgo 的云端基础设施
  3. 使用您保存的凭据在专用基础设施上构建应用
  4. 将 logs 实时流式输出到您的终端
  5. 提交至 App Store 和 Play Store(如果已配置)

工作原理

我们采用与 Expo EAS Build 相同的方式构建了 Capgo Cloud Build —— 使用专用的云基础设施,为你处理所有复杂细节。

但我们的不同之处在于: 我们做这件事已经 3 年了。自 Capgo 成立以来,我们一直在内部为客户构建原生应用,也摸清了要可靠地构建 Capacitor 应用到底需要什么。

我们的专长

过去三年,我们:

  • 打造了自己的 Fastlane 系统 - 我们创建了专为 Capacitor 应用优化的自定义 Fastlane 配置
  • 精通 Capacitor 构建 - 我们深知为 Capacitor 构建时哪些环节重要,从插件配置到原生依赖都了然于胸
  • 专注纯原生 - 我们只构建原生部分(iOS 和 Android)。你的 JavaScript 始终留在你这边——我们绝不触碰或存储你的 Web code
  • 基础设施已优化 - 数千次内部构建帮助我们打磨好了构建系统,之后才向你开放

这不是新实验。这是我们依赖多年、久经考验的基础设施,现在已作为服务提供。

针对 Android

Android 构建在安全的 Cloudflare 沙箱中运行,完成后立即清理。你的应用会使用 Gradle 和我们针对 Capacitor 优化的构建脚本进行编译、签名,并可直接提交到 Play Store。

针对 iOS

iOS 构建运行在按需配置的专用 Mac 机器(Scaleway Mac mini)上。我们使用经过多年 Capacitor 构建打磨的自定义 Fastlane 配置,完成应用的构建、签名并提交到 TestFlight。每次构建都在隔离的 macOS 用户账户中运行以确保安全,机器会在 24 小时后自动清理。

实时日志

与其他方案不同,我们会将构建日志实时流式传输到您的终端。您可以查看:

  • 依赖项安装
  • 构建编译
  • Code 签名
  • 应用商店提交
  • 任何错误或警告

这里有个关键点: 我们不存储您的日志。它们仅在构建期间通过您的 CLI 会话可用,确保您的隐私。

凭据如何工作

在构建之前,您需要提供签名凭据。Capgo 以最高安全性来处理此过程。

本地保存凭据

您的凭据以本地形式存储在您的机器上的 ~/.capgo/credentials.json:

# For iOS - provide certificates and provisioning profiles
npx @capgo/cli@latest build credentials save --platform ios \
  --certificate ./path/to/cert.p12 \
  --p12-password "your-password" \
  --provisioning-profile ./path/to/profile.mobileprovision

# For Android - provide keystore and passwords
npx @capgo/cli@latest build credentials save --platform android \
  --keystore ./path/to/keystore.jks \
  --keystore-alias "your-alias" \
  --keystore-key-password "key-password" \
  --keystore-store-password "store-password"

这些凭据 绝不会上传到 Capgo 直到您请求构建。它们会安全地保留在您的机器上。

构建过程中发生了什么

当您运行构建命令时:

  1. 本地:CLI 从以下位置读取凭据 ~/.capgo/credentials.json
  2. 上传:凭据通过 HTTPS 安全地发送到 Capgo 的构建服务器,同时附带您的项目
  3. 构建:凭据仅在构建过程中使用
  4. 清理:构建完成后,凭据会自动从 Capgo 服务器删除

安全保证

以下是我们关于凭据的保证:

  • ✅ 永不永久存储 - 凭据仅在构建期间存在于 Capgo 服务器上
  • ✅ 自动删除 - 构建完成后立即删除(即使构建失败,最长保留 24 小时)
  • ✅ 无日志,无产物 - 我们不存储可能包含凭据痕迹的构建日志或 IPA/APK 文件
  • ✅ 临时环境 - 构建环境在使用后会被完全销毁
  • ✅ 直接发布到商店 - 应用直接发布到 App Store/Play Store - Capgo 从不保留它们

管理您的凭据

您可以完全控制已保存的凭据:

# List saved credentials (passwords masked)
npx @capgo/cli@latest build credentials list

# Clear credentials for a specific platform
npx @capgo/cli@latest build credentials clear --platform ios

# Clear all credentials
npx @capgo/cli@latest build credentials clear

需要哪些凭据?

iOS 端:

  • 构建证书(.p12 文件及密码)
  • Provisioning Profile(.mobileprovision 文件)
  • 可选:App Store Connect API 密钥(用于自动提交)

针对 Android:

  • Keystore 文件(.jks 或 .keystore)
  • Keystore 别名
  • Keystore 密钥密码
  • Keystore 存储密码
  • 可选:Google Play 服务账号 JSON(用于自动提交)

查看我们的 凭据文档 获取详细配置说明。

隐私与安全优先

除了凭证管理,我们在设计整个构建系统时始终将隐私和安全放在首位:

  • 不存储日志:构建日志通过 Server-Sent Events (SSE) 实时流式传输到您的终端,但绝不会持久化到磁盘或数据库中
  • 不存储构建产物:您构建的 IPA/APK 文件直接从我们的构建机器传输到 App Store/Play Store 服务器 - Capgo 从不存储它们
  • 自动清理:
    • Android:构建完成后立即销毁构建沙箱
    • iOS:构建后清理 Mac 用户账户,24 小时后释放机器
  • 隔离构建: 每个 iOS build 都在完全独立的 macOS 用户账户中运行,并拥有自己的 keychain
  • 您的 Code 隐私我们只构建原生部分 —— 您的 JavaScript/HTML/CSS 永远不会接触我们的服务器
  • 无构建历史除了正在进行的 build 所需的信息外,我们不会为您的 build、版本或任何 build 元数据维护数据库

随处可用

Cloud Build 适用于任何环境 —— 您的本地机器、GitHub Actions、GitLab CI 或任何 CI/CD 平台。

本地开发

在本地机器上,只需保存一次凭据,之后随时可以 build:

# One-time credential setup
npx @capgo/cli@latest build credentials save --platform ios \
  --certificate ./certs/dist.p12 \
  --p12-password "$P12_PASSWORD" \
  --provisioning-profile ./certs/profile.mobileprovision

# Build anytime
npx @capgo/cli@latest build com.example.app --platform ios

CI/CD 集成

在 CI 环境中,您可以任选其一:

方案 1:在 CI 中保存凭据 (推荐,更简单)

# GitHub Actions example
- name: Save credentials and build
  env:
    CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
    P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
  run: |
    # Decode base64-encoded credentials from secrets
    echo "${{ secrets.IOS_CERTIFICATE_BASE64 }}" | base64 -d > cert.p12
    echo "${{ secrets.PROVISIONING_PROFILE_BASE64 }}" | base64 -d > profile.mobileprovision

    # Save credentials
    npx @capgo/cli@latest build credentials save --platform ios \
      --certificate ./cert.p12 \
      --p12-password "$P12_PASSWORD" \
      --provisioning-profile ./profile.mobileprovision

    # Build
    npx @capgo/cli@latest build com.example.app --platform ios

选项 2:内联提供凭据 (适用于高级场景)

你也可以直接在环境变量中传递凭据 - 参见 凭据文档 详情。

无需配置 Mac runner、管理构建缓存或在 CI 环境中安装 SDK。Capgo 会在云端处理所有这些。

简单透明的定价

我们按实际使用的构建时间计费:

  • Android build:1 倍系数
  • iOS build:2 倍系数(由于专用 Mac 硬件成本)

无意外费用,无最低承诺。您只需按使用量付费。

您的 Code,由您负责

Capgo Cloud Build 的一个重要原则: 我们只构建原生部分.

您的 Web 源代码 code 和依赖安装仍留在您这边。在 cap sync之后,原生项目中编译后的 JavaScript、HTML 和 CSS 会被上传并用于构建,随后临时项目数据会被清理。您负责在本地构建 Web 资源(使用 npm run build 或你偏好的构建工具),我们负责原生编译。

这种分离是有意为之:

  • 更安全 - 你的应用逻辑始终由你掌控
  • 构建更快 - 我们不会浪费时间重新构建你的 Web code
  • 职责清晰 - 你掌控 Web 构建流程;我们处理原生复杂性

Live Update 怎么办?

Cloud Build 补充了我们现有的 live update 系统。以下是它们的协作方式:

  • Cloud Build:用于原生应用变更(插件、权限、原生 code),需通过 App Store/Play Store 审核
  • Capgo Live Updates:用于 Web code 变更(HTML、CSS、JavaScript),可即时部署,无需审核

添加新插件或修改原生配置时使用 Cloud Build,其他情况使用 Live Updates。两者结合,可实现最快的部署工作流。

当前状态:已全面发布

Cloud Build 已于 2026 年 1 月全面发布,所有 Capgo 用户均可使用。我们正根据生产环境反馈持续优化体验。

需要帮助上手吗? 加入我们的 Discord 并告诉我们——我们很乐意帮你跑通第一个 build。

快速入门

准备好告别繁琐的 build 流程了吗?请查看 Cloud Build 文档 了解更多:

接下来做什么?

我们正在积极开发:

  • 更快的 iOS 构建:在多次构建之间缓存依赖项,以缩短构建时间
  • 构建产物存储:可选择下载 IPA/APK 文件,用于手动分发
  • 自定义构建脚本:支持 pre/post-build hooks 和自定义 Fastlane lanes
  • 构建日志历史:可选日志存储,用于调试和审计追踪

我们正在打造 Capgo Cloud Build,旨在成为构建原生移动应用最简单、对开发者最友好的方式。如果您有任何反馈或功能需求,欢迎在我们的 Discord 社区.

祝构建顺利!

常见问题

Capgo Build 如何帮助 Capacitor 团队?

在 Web 构建和 cap sync 完成后,Capgo CLI 会上传准备好的原生项目,将编译日志流式传输到您的终端,并返回已签名的 iOS 和 Android 二进制文件,或者在您配置 App Store Connect 和 Play 凭据时上传它们。

什么是 Capgo?

Capgo 是 Capacitor 应用的发布平台。Capgo Build 处理已签名的原生二进制文件和商店提交。Capgo Live Updates 在原生版本之间发布 JavaScript 和资源变更。


了解更多

继续了解无需 Mac 的 Cloud iOS 构建,适用于 Capacitor 和 CI

如果你正在使用 无需 Mac,为 Capacitor 和 CI 提供云端 iOS 构建 规划 CI/CD 自动化,并将其与 Capgo CI/CD 集成 用于 Capgo CI/CD 中的产品工作流, Capgo Native Build 用于 Capgo Native Builds 中的产品工作流, Capgo 集成 用于 Capgo 集成中的产品工作流, CI/CD 集成 了解 CI/CD 集成的实现细节,以及 GitHub Actions 集成 有关 GitHub Actions 集成的实现细节。

为 Capacitor 应用提供 Live Updates

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

博客最新动态

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