跳过内容

配置选项

每个 Cloud Build 配置选项的完整参考。使用此页面查找 CLI 标志、环境变量或凭证密钥以配置任何构建设置。

配置顺序

配置顺序

每个构建选项都可以以多种方式设置。当同一个选项在多个地方设置时,优先级更高的源会获胜:

示例: 如果您保存的凭据有 SKIP_BUILD_NUMBER_BUMP=true 但您传递 --no-skip-build-number-bump 在CLI上,CLI标志会获胜,构建号会自动递增。


iOS 选项

iOS 选项
CLI 标志环境变量凭证密钥默认描述
--build-certificate-base64 <cert>BUILD_CERTIFICATE_BASE64BUILD_CERTIFICATE_BASE64Base64编码 .p12 分发证书
--ios-provisioning-profile <map>CAPGO_IOS_PROVISIONING_MAPCAPGO_IOS_PROVISIONING_MAP作为分发配置文件的配置文件 pathbundleId=path mapping. 对于多目标应用(应用 + 扩展)重复使用;配置文件名称将自动提取。
--p12-password <password>P12_PASSWORDP12_PASSWORD应用商店连接认证的 .p12 证书(如果证书没有密码,则省略)

应用商店连接认证

应用商店连接认证
CLI 标志环境变量凭据密钥默认描述
--apple-key-id <id>APPLE_KEY_IDAPPLE_KEY_ID应用商店连接 API 密钥 ID
--apple-issuer-id <id>APPLE_ISSUER_IDAPPLE_ISSUER_IDApp Store Connect Issuer ID (UUID)
--apple-key-content <content>APPLE_KEY_CONTENTAPPLE_KEY_CONTENTBase64-encoded App Store Connect API key (.p8 file)
--app-store-connect-team-id <id>APP_STORE_CONNECT_TEAM_IDAPP_STORE_CONNECT_TEAM_IDApp Store Connect Team ID

iOS Build Settings

iOS Build Settings
CLI Flag环境变量凭证密钥默认描述
--ios-scheme <scheme>CAPGO_IOS_SCHEMECAPGO_IOS_SCHEMEAppXcode 构建方案
--ios-target <target>CAPGO_IOS_TARGETCAPGO_IOS_TARGETAppXcode 构建目标
--ios-distribution <mode>CAPGO_IOS_DISTRIBUTIONCAPGO_IOS_DISTRIBUTIONapp_store发布模式: app_storead_hoc

Android 选项

Android 选项

__CAPGO_KEEP_0__ Flag

Keystore Signing
CLI Flag环境变量凭证密钥默认描述
--android-keystore-file <keystore>ANDROID_KEYSTORE_FILEANDROID_KEYSTORE_FILEBase64编码的keystore文件(.keystore.jks)
--keystore-key-alias <alias>KEYSTORE_KEY_ALIASKEYSTORE_KEY_ALIASkey0Keystore密钥别名
--keystore-key-password <password>KEYSTORE_KEY_PASSWORDKEYSTORE_KEY_PASSWORDKeystore密钥密码(如果未设置则回退到存储密码)
--keystore-store-password <password>KEYSTORE_STORE_PASSWORDKEYSTORE_STORE_PASSWORDKeystore存储密码

Google Play 配置

Google Play 配置
CLI 标志环境变量凭证密钥默认描述
--play-config-json <json>PLAY_CONFIG_JSONPLAY_CONFIG_JSONBase64编码的Google Play服务帐号JSON密钥
(仅环境变量)PLAY_STORE_TRACKinternalGoogle Play发布渠道(internal, alpha, beta, production)
(仅环境变量)PLAY_STORE_RELEASE_STATUSdraft选择的渠道上发布的状态(draft, completed, inProgress, halted)

Android 构建设置

Android 构建设置
CLI 标志默认描述
--android-flavor <flavor>要构建的产品风味(例如 production). 必填 如果您的项目定义了多个风味
--in-app-update-priority <0–5>Google Play 内购更新优先级(更高=更紧急)。
--no-playstore-upload构建和签名,但跳过 Play Store 上传(需要 --output-upload).

构建控制选项

构建控制选项

这两个选项都适用于iOS和Android的构建。

CLI 标志默认描述
--platform <platform>必需。 iosandroid
--build-mode <mode>releasedebugrelease
--path <path>.项目目录
--verbosefalse在构建失败时,发送日志到__CAPGO_KEEP_0__ AI进行诊断 — 见
--ai-analyticsfalseOn build failure, send logs to Capgo AI for diagnosis — see AI 构建诊断

构建号控制

构建号控制
CLI 标志环境变量凭证密钥默认描述
--skip-build-number-bumpSKIP_BUILD_NUMBER_BUMPSKIP_BUILD_NUMBER_BUMPfalse跳过自动构建号/版本 code 自动递增
--no-skip-build-number-bump显式重新启用自动递增(覆盖保存的凭证)

默认情况下,Capgo Cloud Build 将自动递增构建号:

  • iOS: 从 App Store Connect 获取最新的构建号,自增 1
  • Android: 从 Google Play 获取最大值,自增 1 versionCode

设置时,构建使用项目文件(Xcode 项目或 --skip-build-number-bump 输出上传 build.gradle).

__CAPGO_KEEP_0__ 标志

环境变量
CLI Flag默认值__CAPGO_KEEP_0__ Flag环境变量描述
--output-uploadBUILD_OUTPUT_UPLOAD_ENABLEDBUILD_OUTPUT_UPLOAD_ENABLEDfalse将构建输出(IPA/APK/AAB)上传到Capgo存储中。当通过环境变量设置时,使用 BUILD_OUTPUT_UPLOAD_ENABLED=true.
--no-output-uploadBUILD_OUTPUT_UPLOAD_ENABLED禁用输出上传。当通过环境变量设置时,使用 BUILD_OUTPUT_UPLOAD_ENABLED=false.
--output-retention <duration>BUILD_OUTPUT_RETENTION_SECONDSBUILD_OUTPUT_RETENTION_SECONDS1h下载链接保持活跃的时间
--output-record <path>在成功构建后,写入一个JSON记录(任务ID、状态、下载URL、QRcode)到 <path> — 使用 build last-output.

保留格式: 使用人类可读的持续时间,如 1h, 6h, 2d, 7d. 最小值为1小时,最大值为7天。当通过环境变量设置时,使用秒数(例如 3600 for 1小时)。

CLI Flag环境变量默认值描述
-a, --apikey <key>CAPGO_TOKENCapgo API 用于身份验证的密钥
--supa-host <host>自托管环境下自定义 Supabase 主机
--supa-anon <key>自托管环境下自定义 Supabase anon 密钥

环境变量快速参考

环境变量快速参考

复制并粘贴到您的 CI/CD pipeline 中。所有变量都是可选的 — 只设置您需要的变量。

iOS

iOS
终端窗口
# Code signing (required for iOS builds)
BUILD_CERTIFICATE_BASE64="<base64-encoded .p12>"
CAPGO_IOS_PROVISIONING_MAP="<provisioning map generated by the CLI>"
P12_PASSWORD="<certificate password>"
# App Store Connect (required for store submission)
APPLE_KEY_ID="ABC1234567"
APPLE_ISSUER_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
APPLE_KEY_CONTENT="<base64-encoded .p8 key>"
APP_STORE_CONNECT_TEAM_ID="TEAM123456"
# Optional iOS settings
CAPGO_IOS_SCHEME="App"
CAPGO_IOS_TARGET="App"
终端窗口
# Keystore signing (required for Android builds)
ANDROID_KEYSTORE_FILE="<base64-encoded .keystore>"
KEYSTORE_KEY_ALIAS="my-key-alias"
KEYSTORE_KEY_PASSWORD="<key password>"
KEYSTORE_STORE_PASSWORD="<store password>"
# Google Play (required for store submission)
PLAY_CONFIG_JSON="<base64-encoded service account JSON>"
# Optional Android settings
PLAY_STORE_TRACK="internal"
PLAY_STORE_RELEASE_STATUS="draft"

构建控制

构建控制部分
终端窗口
# Build behavior
SKIP_BUILD_NUMBER_BUMP="true" # Skip auto-increment
BUILD_OUTPUT_UPLOAD_ENABLED="true" # Upload IPA/APK/AAB
BUILD_OUTPUT_RETENTION_SECONDS="3600" # 1 hour download link
# Authentication
CAPGO_TOKEN="your-api-key"

凭证存储

凭证存储部分

本地保存凭据

标题:本地保存凭据

不必每次都传递标志或环境变量,仅需保存凭据一次:

终端窗口
# Save iOS credentials
bunx @capgo/cli@latest build credentials save \
--platform ios \
--certificate ./dist_cert.p12 \
--ios-provisioning-profile ./profile.mobileprovision \
--p12-password "cert-password" \
--apple-key ./AuthKey.p8 \
--apple-key-id ABC1234567 \
--apple-issuer-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--apple-team-id TEAM123456
# Save Android credentials
bunx @capgo/cli@latest build credentials save \
--platform android \
--keystore ./release.keystore \
--keystore-alias my-key \
--keystore-key-password "key-pass" \
--keystore-store-password "store-pass" \
--play-config ./play-service-account.json
标志位置用例
(默认)~/.capgo-credentials/credentials.json全局 — 机器上所有项目共享
--local.capgo-credentials.json 在项目根目录项目级别 — 覆盖全局配置,当两者都存在时

凭据是按 应用 ID (例如 com.example.myapp),因此一个凭据文件可以存储多个应用的设置,而不会出现冲突。每个应用的凭据还会根据平台进行分割 (ios / android).

管理保存的凭据

管理保存的凭据
终端窗口
# List saved credentials
bunx @capgo/cli@latest build credentials list
# Update a specific option without re-entering everything
bunx @capgo/cli@latest build credentials update --skip-build-number-bump
# Clear saved credentials
bunx @capgo/cli@latest build credentials clear --platform ios

示例

示例

GitHub 动作

GitHub 动作
name: Build and Submit
on:
push:
branches: [main]
jobs:
build-ios:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- run: bun install
- run: bunx cap sync ios
- run: bunx @capgo/cli@latest build request --platform ios
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE }}
CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }}
APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }}
APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }}
APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
build-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- run: bun install
- run: bunx cap sync android
- run: bunx @capgo/cli@latest build request --platform android
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE }}
KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_ALIAS }}
KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }}
PLAY_CONFIG_JSON: ${{ secrets.PLAY_CONFIG_JSON }}

使用 CLI flags 直接

CLI Flags 直接使用
终端窗口
# Build iOS with all options inline
bunx @capgo/cli@latest build request \
--platform ios \
--build-mode release \
--skip-build-number-bump \
--output-retention 6h \
--apikey YOUR_API_KEY
# Build Android, skip version bump, no output upload
bunx @capgo/cli@latest build request \
--platform android \
--skip-build-number-bump \
--no-output-upload \
--apikey YOUR_API_KEY

混合配置

混合配置

将保存的凭据与CLI覆盖项结合:

终端窗口
# Save base credentials once
bunx @capgo/cli@latest build credentials save --platform ios \
--certificate ./cert.p12 \
--ios-provisioning-profile ./profile.mobileprovision \
--output-upload
# Override specific options per-build
bunx @capgo/cli@latest build request --platform ios \
--skip-build-number-bump \
--output-retention 2d

CLI标志覆盖此特定运行的构建行为,而保存的凭据提供签名详细信息。