📦

📦 打包

📦 为在 Capgo 云中部署应用程序包管理,包括上传、兼容性检查和加密。

别名: u

终端窗口
npx @capgo/cli@latest bundle upload

⬆️ 将应用程序包上传到 Capgo 云以进行分发。 版本必须大于 0.0.0 并且唯一。已删除的版本不能重用以保证安全。 外部选项:仅存储一个 URL 链接(对于大于 200MB 的应用程序或隐私要求有用)。 Capgo 从未检查外部内容。添加加密以实现无信任安全。

示例:

终端窗口
npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production,beta

当您不传递时,自动将下一个免费的semver从通道(或最新远程应用版本)更新到下一个版本 (或 latest remote app version)。 --bundle在CI中有用时 package.json 已经匹配了版本 Capgo:

终端窗口
npx @capgo/cli@latest bundle upload --channel=production --auto-bump
npx @capgo/cli@latest bundle upload --auto-bump major
npx @capgo/cli@latest bundle upload --auto-bump minor # default when the flag has no value
npx @capgo/cli@latest bundle upload --auto-bump patch # alias: fix
npx @capgo/cli@latest bundle upload --auto-bump metadata
npx @capgo/cli@latest bundle upload --channel=production --auto-bump ai

使用 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ Workers AI 将本地捆绑文件与之前的 __CAPGO_KEEP_2__/channel delta manifest 进行比较,推断 --auto-bump ai, Capgo Cloudflare Workers AI compares local bundle files to the previous Capgo/channel delta manifest, infers major | minor | patch | metadata, and prints a short reason in the CLI log. If no previous Capgo version exists, AI is skipped and the bump defaults to 选项:.

Options:

参数类型描述
-astringAPI
-pstring上传文件夹的路径,如果不提供,会使用capacitor.config中的webDir
-cstring要链接的频道,使用逗号分隔多个频道,例如production,beta
--rolloutstring将上传的包作为此频道的发布目标,百分比范围为0到100
--stableboolean在一个 rollout-configured 通道上,替换稳定fallback而不是设置 rollout 目标
—rollout-percentage-bpsstring设置从 0 到 10000 的已上传包装的 rollout 百分比(基点)
—rollout-cache-ttl-secondsstringCloudflare rollout 决策缓存 TTL(秒)
-estring将包装链接到外部 URL 而不是上传到 Capgo 云
—iv-session-keystring设置包装 URL 外部的 IV 和会话密钥
—s3-regionstring您的 S3 存储桶所在的区域
—s3-apikeystringAPI 键为您的 S3 端点
—s3-apisecretstringAPI 秘密键为您的 S3 端点
—s3-endpointstringS3 端点的 URL
—s3-bucket-namestring您的 AWS S3 桶的名称
—s3-portstring您的 S3 端点的端口
—no-s3-sslboolean禁用 S3 上传的 SSL
—key-v2string自定义私钥路径 (v2 系统)
—key-data-v2string私钥 (v2 系统)
—bundle-urlboolean将包 URL 打印到标准输出
—no-keyboolean忽略签名密钥并发送清晰的更新
—no-code-checkboolean忽略检查源 code 中的 notifyAppReady() 是否被调用,并且根目录中是否存在索引
—display-iv-sessionboolean在控制台中显示用于加密更新的 IV 和会话密钥
-bstring上传的包的版本号
—auto-bumpstring从频道关联的包中自动递增,否则使用最新的远程应用程序版本。级别:主版本、次版本(默认)、修订版本(修复版本)、元数据或ai(Worker AI根据本地与之前的delta清单推断级别;如果没有之前的Capgo版本,则回退到修订版本)。直到找到一个空闲的名称(删除的名称将占用)。不能与—bundle(-b)一起使用
—linkstring链接到外部资源(例如GitHub发布)
—commentstring关于此版本的注释,可能是发布说明、提交哈希、提交消息等
—min-update-versionstring此版本所需的最小版本号。仅当频道中禁用自动更新设置为元数据时才使用
—auto-min-update-versionboolean根据本地包设置最小更新版本
—ignore-metadata-checkboolean忽略上传时的元数据(node_modules)检查
—fail-on-incompatibleboolean当包与渠道当前本地包不兼容时,上传失败(退出非零状态)而不是上传。交互式终端中仍可选择本地构建;拒绝上传失败。不能与 —ignore-metadata-check 一起使用。
—ignore-checksum-checkboolean忽略上传时的校验和检查
—force-crc32-checksumboolean强制CRC32校验和上传(覆盖自动检测)
—timeoutstring上传过程超时时间(以秒为单位)
—multipartboolean[已弃用] 使用 —tus 代替。使用多部分协议进行 S3 上传
—zipboolean使用 zip 上传包到 Capgo 云 (legacy)
—tusboolean使用 TUS 上传包到 Capgo 云
—tus-chunk-sizestringTUS 分段上传时的字节块大小(默认:自动)
—partialboolean [已弃用] 使用 —delta 代替。上传增量更新
—partial-onlyboolean [已弃用] 使用 —delta-only 代替。仅上传增量更新,跳过完整包
—deltaboolean上传差异更新(仅更改的文件)以实现实时、超快更新而不是大型 zip 下载
—delta-onlyboolean以最大速度上传仅 delta 更新而非完整包(适用于大型应用)
—no-deltaboolean禁用 delta 更新,即使启用了即时更新
—encrypted-checksumstring加密校验和(签名)。仅在上传外部包时使用
—auto-set-bundleboolean设置包在 capacitor.config.json 中
—dry-uploadboolean干燥上传包过程:在数据库中添加行而非上传文件或更新频道(Capgo 内部测试使用)
—package-jsonstring多包项目的 package.json 文件路径(用逗号分隔)
—node-modulesstring多仓库项目的node_modules目录路径(逗号分隔)
—encrypt-partialboolean—加密差分更新文件(自动启用于更新器 > 6.14.4)
—delete-linked-bundle-on-uploadboolean在您尝试上传的频道中定位当前链接的捆绑包并删除它
—no-brotli-patternsstring要排除的Brotli压缩文件(逗号分隔模式,例如“.jpg,.png”)
—disable-brotliboolean即使更新器版本支持它,也完全禁用Brotli压缩
—version-exists-okboolean如果包版本已经存在,退出成功,适用于CI/CD工作流程中的多包仓库
__CAPGO_KEEP_0__boolean允许设备自动加入此频道(更新频道设置)
打印终端二维码__CAPGO_KEEP_0__用于此包预览booleanPrint a terminal QR code for this bundle preview after upload
自定义Supabase主机URL(用于自主托管或__CAPGO_KEEP_0__开发)boolean自定义Supabase匿名密钥(用于自主托管)
详细模式stringCapgo
__CAPGO_KEEP_0__string__CAPGO_KEEP_0__
__CAPGO_KEEP_0__boolean启用详细日志的verbose输出

🧪 兼容性

兼容性
终端窗口
npx @capgo/cli@latest bundle compatibility

🧪 在Capgo Cloud中检查一个特定频道的包与Capgo Cloud的兼容性,以确保更新是安全的。

示例:

终端窗口
npx @capgo/cli@latest bundle compatibility com.example.app --channel production

选项:

参数类型描述
-astringAPI key to link to your account
-cstring频道
—textboolean输出文本而不是表情符号
—package-jsonstring多包项目的package.json文件路径(用逗号分隔)
—node-modulesstring多包项目的node_modules目录路径(用逗号分隔)
—supa-hoststring自定义 Supabase 主机 URL(用于自主托管或 Capgo 开发)
—supa-anonstring自定义 Supabase 匿名密钥(用于自主托管)

🔹 发布类型

发布类型
终端窗口
npx @capgo/cli@latest bundle releaseType

🧭 根据与频道最新元数据的兼容性打印“native”或“OTA”。

示例:

终端窗口
npx @capgo/cli@latest bundle releaseType com.example.app --channel production

选项:

参数类型描述
-astringAPI 与您的帐户关联的密钥
-cstring与之比较的频道
--package-jsonstring多包项目的package.json文件路径(以逗号分隔)
--node-modulesstring多包项目的node_modules目录路径(以逗号分隔)
--supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
—supa-anonstring自定义 Supabase 匿名密钥(用于自主托管)

🗑️ 删除

标题:删除

别名: d

终端窗口
npx @capgo/cli@latest bundle delete

🗑️ 从 Capgo 云中删除特定包, optionally 目标单个版本。

示例:

终端窗口
npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.app

选项:

参数类型描述
-astringAPI 与您的帐户关联的密钥
–supa-hoststring自定义 Supabase 主机 URL(用于自主托管或 Capgo 开发)
–supa-anonstring自定义 Supabase 匿名密钥(用于自主托管)

别名: l

终端窗口
npx @capgo/cli@latest bundle list

📋 为应用程序列出所有已上传的包:Capgo Cloud

示例:

终端窗口
npx @capgo/cli@latest bundle list com.example.app

选项:

参数类型描述
-astringAPI key to link to your account
string自定义 Supabase 主机 URL(用于自主托管或 Capgo 开发)
string自定义 Supabase 匿名密钥(用于自主托管)

🧹 清理

标题:清理

别名: c

终端窗口
npx @capgo/cli@latest bundle cleanup

🧹 在 Capgo 云中删除旧的捆绑包,保留指定数量的最近版本。 与频道相关的捆绑包除非使用 —ignore-channel,否则将被保留。

示例:

终端窗口
npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3

选项:

参数类型描述
-bstring要删除的应用程序的包版本号
-astringAPI 与您的帐户关联的密钥
-kstring保留的版本数量
-fboolean强制删除
—ignore-channelboolean即使与频道相关,仍删除包装(警告:也会删除频道)
—supa-hoststringCustom Supabase host URL (for self-hosting or Capgo development)
—supa-anonstring自定义 Supabase 匿名密钥(用于自主托管)

🔒 加密

标题:加密
终端窗口
npx @capgo/cli@latest bundle encrypt

🔒 为安全外部存储加密一个 zip 包。 返回 ivSessionKey 用于上传/解密。使用 ‘bundle zip —json’ 获取校验和。

示例:

终端窗口
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM

选项:

参数类型描述
—keystring自定义私钥路径
—key-datastring私钥
-jboolean输出为 JSON
—package-jsonstring多包项目中的 package.json 文件路径(以逗号分隔)
终端窗口
npx @capgo/cli@latest bundle decrypt

🔓 解密一个加密的包(主要用于测试)。 验证时打印 base64 会话密钥。

示例:

终端窗口
npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUM

选项:

参数类型描述
—keystring私有签名密钥的自定义路径
—key-datastring私有签名密钥
—checksumstring校验包的完整性,计算包的校验和
—package-jsonstring多包项目的package.json文件路径(以逗号分隔)

🔹 压缩包

标题:压缩包
终端窗口
npx @capgo/cli@latest bundle zip

🗜️ 生成应用程序捆绑包的压缩文件。 返回用于加密的校验和。使用 —json 获取机器可读输出。

示例:

终端窗口
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

选项:

参数类型描述
-pstring上传文件夹的路径,如果未提供则使用capacitor.config中的webDir
-bstringzip文件的版本号
-nstringzip文件的名称
-jboolean以JSON输出
--no-code-checkboolean忽略源code和根目录中的index文件中是否调用了notifyAppReady()函数
--key-v2boolean使用加密v2
—package-jsonstring多包仓库中的package.json文件路径(逗号分隔)