📦 bundle
复制一个包含安装步骤和本插件的完整Markdown指南的设置提示。
📦 为在 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 从通道(或最新的远程应用程序版本)更新为当您不传递时 --bundle. 在 CI 中有用,当 package.json 已经匹配一个版本 Capgo 有:
npx @capgo/cli@latest bundle upload --channel=production --auto-bumpnpx @capgo/cli@latest bundle upload --auto-bump majornpx @capgo/cli@latest bundle upload --auto-bump minor # default when the flag has no valuenpx @capgo/cli@latest bundle upload --auto-bump patch # alias: fixnpx @capgo/cli@latest bundle upload --auto-bump metadatanpx @capgo/cli@latest bundle upload --channel=production --auto-bump ai与 --auto-bump ai, Capgo Cloudflare Workers AI 将本地捆绑文件与之前的 Capgo/通道 delta 清单进行比较,推断 major | minor | patch | metadata,并在 CLI 日志中打印一个短暂的原因。如果没有之前的 Capgo 版本,AI 将被跳过,升级将默认为 修补.
选项:
| 参数 | 类型 | 描述 |
|---|---|---|
| -a | string | API用于链接到您的账户 |
| -p | string | 要上传的文件夹路径,如果未提供则使用capacitor.config中的webDir |
| -c | string | 要链接的频道,使用逗号分隔多个频道,例如production,beta |
| --rollout | string | 将上传的包设置为此频道的发布目标,百分比范围为0到100 |
| --stable | boolean | 在发布配置的频道上,替换稳定fallback而不是设置发布目标 |
| —rollout-percentage-bps | string | 设置上传的包装文件滚动百分比,范围为 0 到 10000 |
| —rollout-cache-ttl-seconds | string | Cloudflare 滚动决策缓存 TTL 秒 |
| -e | string | 将包装文件链接到外部 URL 而不是上传到 Capgo 云 |
| —iv-session-key | string | 设置包装文件 URL 外部的 IV 和会话密钥 |
| —s3-region | string | 您的 S3 存储桶所在的区域 |
| —s3-apikey | string | API 的 S3 端点密钥 |
| —s3-apisecret | string | API S3终端点的机密信息 |
| —s3-endpoint | string | S3终端点的URL |
| —s3-bucket-name | string | 您的AWS S3存储桶的名称 |
| —s3-port | string | S3终端点的端口 |
| —no-s3-ssl | boolean | 禁用S3上传的SSL |
| —key-v2 | string | 自定义私钥路径(v2系统) |
| —key-data-v2 | string | 私有签名密钥(v2系统) |
| —bundle-url | boolean | 将包裹URL打印到标准输出 |
| —no-key | boolean | 忽略签名密钥并发送清晰的更新 |
| —no-code-check | boolean | 忽略检查是否在源code中调用notifyAppReady()以及根目录中是否存在索引 |
| —display-iv-session | boolean | 在控制台中显示用于加密更新的IV和会话密钥 |
| –b | string | 要上传的包裹版本号 |
| ——auto-bump | string | 从频道关联的包中自动递增,否则使用最新的远程应用程序版本。级别:主(major)、次(minor)、补丁(patch,缺省)、元数据(metadata)或ai(Workers AI根据本地vs上一个delta清单推断级别;如果没有上一个Capgo版本,则回退到补丁级别)。直到找到一个空闲的名称(删除的名称保持占用状态)。不能与—bundle(-b)一起使用 |
| ——link | string | 链接到外部资源(例如GitHub发布) |
| ——comment | string | 关于此版本的注释,可能是发布说明、提交哈希、提交消息等 |
| ——min-update-version | string | 所需的最小版本才能更新到此版本。仅当频道中禁用自动更新设置为元数据时才使用 |
| ——auto-min-update-version | boolean | 基于本机包设置最小更新版本 |
| ——ignore-metadata-check | boolean | 在上传时忽略元数据(node_modules)检查 |
| ——fail-on-incompatible | boolean | 在上传时,如果包与当前通道的本地包不兼容,会失败(退出非零状态)而不是上传。在交互式终端中,您仍然可以选择本地构建;拒绝失败。不能与 —ignore-metadata-check 一起使用。 |
| ——ignore-checksum-check | boolean | 在上传时忽略校验和检查 |
| ——force-crc32-checksum | boolean | 强制 CRC32 校验和上传(覆盖自动检测) |
| ——timeout | string | 上传过程超时(以秒为单位) |
| ——multipart | boolean | 【已弃用】使用 —tus 代替。使用多部分协议进行 S3 上传 |
| ——zip | boolean | 使用 zip 将包上传到 Capgo 云(遗留) |
| —tus | boolean | 使用 TUS 上传包到 Capgo 云 |
| —tus-chunk-size | string | TUS 分段上传字节大小(默认:自动) |
| —partial | boolean | [已弃用] 使用 —delta 代替。上传增量更新 |
| —partial-only | boolean | [已弃用] 使用 —delta-only 代替。仅上传增量更新,跳过完整包 |
| —delta | boolean | 上传差异更新(仅更改文件)以实现实时、超快更新而不是大型 zip 下载 |
| —delta-only | boolean | 仅上传差异更新而不上传完整包以实现最大速度(适用于大型应用) |
| —no-delta | boolean | 禁用即时更新,即使已启用 |
| —encrypted-checksum | string | 加密校验和(签名)。仅在上传外部包时使用 |
| —auto-set-bundle | boolean | 设置包在capacitor.config.json中 |
| —dry-upload | boolean | 干燥上传包过程:在数据库中添加行而不上传文件或更新频道(Capgo用于内部测试) |
| —package-json | string | 多包项目的package.json文件路径(用逗号分隔) |
| —node-modules | string | 多包项目的node_modules目录路径(用逗号分隔) |
| ——部分加密 | boolean | 加密 delta 更新文件(自动启用于更新器 > 6.14.4) |
| ——删除上传时关联的包 | boolean | 在您尝试上传的频道中定位当前关联的包,并删除它 |
| ——不压缩的模式 | string | 要排除的文件(逗号分隔的模式,例如“.jpg.png”) |
| ——禁用压缩 | boolean | 即使更新器版本支持它,也完全禁用 brotli 压缩 |
| ——版本存在时退出 | boolean | 如果包版本已经存在,退出成功,适用于 CI/CD 工作流程中的多包项目 |
| —自行分配 | boolean | 允许设备自动加入此频道(更新频道设置) |
| —二维码预览 | boolean | 打印此包预览上传后终端的二维码code |
| —发送更新通知 | boolean | 更新关联频道包后发送本机更新检查通知给设备 |
| —超级主机 | string | Custom Supabase host URL (for self-hosting or Capgo development) |
| —超级匿名 | string | 自主托管时的自定义 Supabase 匿名密钥 |
| —详细输出 | boolean | 启用详细输出和详细日志 |
🧪 Compatibility
兼容性npx @capgo/cli@latest bundle compatibility🧪 检查 Capgo 中的包与特定频道的兼容性,以确保更新是安全的。
示例:
npx @capgo/cli@latest bundle compatibility com.example.app --channel production选项:
| 参数 | 类型 | 描述 |
|---|---|---|
| -a | string | API 关键字以链接到您的账户 |
| -c | string | 渠道用于检查兼容性 |
| —text | boolean | 输出文本而非表情符号 |
| —package-json | string | package.json文件路径(逗号分隔) |
| —node-modules | string | node_modules 目录路径(逗号分隔) |
| —supa-host | string | Custom Supabase host URL (for self-hosting or Capgo development) |
| —supa-anon | string | 自定义 Supabase 匿名密钥(适用于自托管) |
🔹 ReleaseType
🔹 发布类型npx @capgo/cli@latest bundle releaseType🧭 根据与频道最新元数据的兼容性打印“native”或“OTA”。
示例:
npx @capgo/cli@latest bundle releaseType com.example.app --channel production选项:
| 参数: | 类型 | 描述 |
|---|---|---|
| -a | string | API用于链接到您的账户 |
| -c | string | 用于比较的频道 |
| --package-json | string | 多包项目的package.json文件路径(逗号分隔) |
| --node-modules | string | 多包项目的node_modules目录路径(逗号分隔) |
| --supa-host | string | 自定义Supabase主机URL(用于自托管或Capgo开发) |
| —supa-anon | string | 自定义 Supabase 匿名密钥(适用于自托管) |
🗑️ 删除
标题: “删除”别名: d
npx @capgo/cli@latest bundle delete删除一个特定的包从Capgo Cloud, optionally targeting a single version.
示例:
npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.app选项:
| 参数 | 类型 | Description |
|---|---|---|
| 描述 | string | API 关键字链接到您的账户 |
| —supa-host | string | Custom Supabase host URL (for self-hosting or Capgo development) |
| —supa-anon | string | ——supa-anon |
📋 List
列表别名: l
npx @capgo/cli@latest bundle list📋 在 Capgo 云中列出所有应用程序上传的包
示例:
npx @capgo/cli@latest bundle list com.example.app选项:
| 参数 | 类型 | 描述 |
|---|---|---|
| -a | string | API 键以链接到您的帐户 |
| —自定义主机 | string | Custom Supabase host URL (for self-hosting or Capgo development) |
| —自定义匿名密钥 | string | 自定义 Supabase 匿名密钥(用于自主托管) |
🧹 清理
标题:清理别名: c
npx @capgo/cli@latest bundle cleanup🧹 在Capgo Cloud中删除旧的包,保留最近的版本数。 相关的频道包除非使用—ignore-channel选项,否则会被保留。
示例:
npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3选项:
| 参数 | 类型 | 描述 |
|---|---|---|
| -b | string | 应用程序删除的包版本号 |
| -a | string | API |
| -k | string | 保留的版本数量 |
| -f | boolean | 强制移除 |
| ——忽略频道 | boolean | 删除包裹即使与频道相关联(警告:删除频道也会删除) |
| ——自定义主机 | string | Custom Supabase host URL (for self-hosting or Capgo development) |
| ——自定义匿名密钥 | string | 自定义 Supabase 匿名密钥(用于自主托管) |
🔒 加密
加密npx @capgo/cli@latest bundle encrypt加密一个 zip 包裹以便于安全的外部存储。 返回 ivSessionKey 用于上传/解密。使用 ‘包裹 zip —json’ 获取校验和。
示例:
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM复制到剪贴板
| 选项: | 参数 | 类型 |
|---|---|---|
| 描述 | string | —key |
| 私有签名密钥的自定义路径 | string | —key-data |
| 私有签名密钥 | boolean | 输出为 JSON |
| —package-json | string | 多包项目的package.json文件路径(逗号分隔) |
🔓 解密
解密npx @capgo/cli@latest bundle decrypt解密一个加密的包(主要用于测试)。 打印base64会话密钥以进行验证。
示例:
npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUM选项:
| 参数 | 类型 | 关于Capgo页面 |
|---|---|---|
| 描述 | string | —key |
| 私有签名密钥的自定义路径 | string | —key-data |
| 私有签名密钥 | string | —checksum |
| 包的校验和,用于验证包的完整性 | string | —package-json |
npx @capgo/cli@latest bundle zip🗜️ 生成您的应用程序捆绑包的 zip 文件。 返回用于加密的校验和。使用 —json 获取机器可读输出。
示例:
npx @capgo/cli@latest bundle zip com.example.app --path ./dist选项:
| 参数 | 类型 | 描述 |
|---|---|---|
| -p | string | 上传文件夹的路径,如果未提供则使用capacitor.config中的webDir |
| -b | string | items.1.text=-b |
| -n | string | items.3.text=-n |
| -j | boolean | items.5.text=-j |
| —no-code-check | boolean | items.7.text=—no-code-check |
| —key-v2 | boolean | items.9.text=—key-v2 |
| —package-json | string | 路径到 monorepos 的 package.json 文件(逗号分隔) |