命令
复制一个设置提示,包括安装步骤和本插件的完整Markdown指南
本页面是一份引导式概述。请使用当前命令参考表格获取准确的标志: 应用, 打包, 频道, 和 构建.
使用
使用所有命令应在您的应用程序文件夹中运行,确保capacitor项目已正确启动。
__CAPGO_KEEP_0__
Initnpx @capgo/cli@latest init [apikey]
Init
It will add your app to Capgo. It will add the code to your app to validate the update. Likewise, it will build your app. Furthermore, it will upload your app to Capgo. And it will help you to check if the update works.
它将将您的应用程序添加到__CAPGO_KEEP_0__中。它将添加__CAPGO_KEEP_1__到您的应用程序以验证更新。同样,它将构建您的应用程序。此外,它将将您的应用程序上传到__CAPGO_KEEP_2__。最后,它将帮助您检查更新是否有效。
登录npx @capgo/cli login [apikey]
登录 apikey 此方法旨在记住您的__CAPGO_KEEP_0__以便于您。
您可以选择提供:
--local 这将在本地存储您的 API密钥 在本地存储并将其添加到.gitignore文件中。
npx @capgo/cli doctor
检查您是否已更新为Capgo包的命令。
此命令还将对bug报告有所帮助。
应用
应用标题添加
添加标题npx @capgo/cli app add [appId]
[appId] 您的应用ID的格式 com.test.app 如图所示 这里.
💡 如果未提供,则所有选项将在您的配置中自动推断。
您可以选择:
--icon [/path/to/my/icon]在Capgo web应用中显示自定义图标。--name [test]在列表中显示自定义名称。--apikey [key]API密钥以链接到您的帐户。--retention [retention]应用程序包的保留期限(以天为单位),默认值为0,即无限。
示例 capacitor.config.json appId和AppName的图标将在资源文件夹中猜测
{ "appId": "ee.forgr.capacitor_go", "appName": "Capgo", "webDir": "dist"}设置
设置npx @capgo/cli app set [appId]
[appId] 这是您的应用程序ID,格式解释 请参阅.
可选项
--icon [/path/to/my/icon]在Capgo web应用程序中显示自定义图标--name [test]在列表中显示自定义名称--retention [retention]应用程序包的保留期限(以天为单位),默认值为0,即无限--expose-metadata [true|false]暴露捆绑包元数据(链接和注释)给插件。--preview或--no-previewCapacitor--allow-device-custom-idCapacitor--no-allow-device-custom-idCapacitor--block-provider-infra-requestsCapacitor--no-block-provider-infra-requestsCapacitor--build-timeout-minutes [5-360]Capacitor--ios-store-url [url]Capacitor--android-store-url [url]Capacitor--default-upload-channel [channel]Capacitor--default-download-channel [channel]Capacitor--disable-download-channels使所有下载频道为非公开。--apikey [key]API密钥以链接到您的帐户。
npx @capgo/cli app list [appId]
[appId] 您的应用ID的格式 com.test.app 解释在这里 您可以选择提供:.
__CAPGO_KEEP_0__密钥以链接到您的帐户。
--apikey [key]API key to link to your account.
标题为“删除”的部分
您的应用ID的格式npx @capgo/cli app delete [appId]
[appId] 列表 com.test.app 是说明的 在这里.
可选地,您可以提供:
--apikey [key]API 键来链接您的账户。--bundle带有版本号的将只删除该版本。
调试
标题为“调试”npx @capgo/cli app debug [appId]
[appId] 您的应用ID的格式 com.test.app 是说明的 在这里.
可选地,您可以提供:
--apikey [key]API 键来链接您的账户。--device与您要调试的具体设备一起使用
设置
标题:设置npx @capgo/cli app setting [path]
编辑 Capacitor 配置。
[path] - 您要更改的设置路径。例如,要更改 appId, 提供 appId.
如果您希望禁用自动更新,请在 capacitor-updater, 提供 plugins.CapacitorUpdater.autoUpdate 与 --string off.
您必须提供 --string 或 --bool!
选项:
--string <string>- 设置为字符串--bool <true | false>- 设置为布尔值
包
包上传
上传npx @capgo/cli bundle upload [appId]
[appId] 您的应用ID,格式解释 这里.
您可以选择提供:
--apikey <apikey>API--path <path>上传文件夹的路径--channel <channel>要链接的频道--external <url>将文件上传到 Capgo Cloud 以外的 URL。--iv-session-key <key>设置 bundle URL 外部的 IV 和会话密钥。--s3-endpoint <s3Endpoint>S3 端点的 URL。 不支持 delta 上传或外部选项。--s3-region <region>S3 存储桶的区域。--s3-apikey <apikey>S3 端点的 API 密钥。--s3-apisecret <apisecret>S3 端点的 API 密钥。--s3-bucket-name <bucketName>S3 存储桶的名称。--s3-port <port>S3 端点的端口。--no-s3-ssl禁用 S3 上传的 SSL。--key <key>自定义路径(v1 系统)公共签名密钥。--key-data <keyData>公共签名密钥(v1 系统)。--key-v2 <key>自定义路径(v2 系统)私有签名密钥。--key-data-v2 <keyData>私有签名密钥(v2系统)。--bundle-url将包裹 URL 打印到标准输出。--no-key忽略签名密钥并发送清晰的更新。--no-code-check忽略检查源 code 和索引是否在根目录中存在的 notifyAppReady() 是否被调用。--display-iv-session在控制台中显示用于加密更新的 IV 和会话密钥。--bundle <bundle>要上传的包裹的版本号。--auto-bump [level]从渠道关联的包裹中自动递增,否则使用最新的远程应用程序版本。级别:major,minor(默认)patch(别名)fix),metadata, 或ai(工人 AI 将本地文件与之前的 Capgo/渠道 delta 清单进行比较,推断级别,并记录一个短的原因;跳过 AI 并增加patch如果没有之前的 Capgo 版本)。增加直到找到一个免费的名称(删除的名称仍占用)。不能与--bundle.--min-update-version <minUpdateVersion>更新到此版本所需的最低版本。仅在禁用自动更新设置为渠道元数据时使用。--auto-min-update-version根据本机包设置最小更新版本。--ignore-metadata-check上传时忽略元数据(node_modules)检查。--ignore-checksum-check上传时忽略校验和检查。--timeout <timeout>上传过程超时时间(以秒为单位)。--delta上传Delta(清单)文件,伴随完整包。--delta-only仅上传Delta(清单)更新,跳过完整包。--no-delta禁用Delta(清单)上传(如果启用了即时应用模式但您想上传完整包,请使用此选项)。autoUpdate使用TUS协议上传包。--tus使用多部分协议上传数据到S3,已弃用,请使用TUS代替。--multipart一个加密的校验和(签名)。仅在上传外部包时使用。--encrypted-checksum <encryptedChecksum>__CAPGO_KEEP_0__--package-json <packageJson>A path to package.json. Useful for monorepos.--auto-set-bundle设置 capacitor.config.json 中的包裹。--node-modules <nodeModules>A list of path to node_modules. Useful for monorepos (comma separated ex: ../../node_modules,./node_modules)
⭐️ 外部选项帮助解锁 2 个案例:企业有隐私顾虑,不向第三方发送 code,并且应用程序大于 200 MB。使用此设置,Capgo 只存储对 zip 的链接,并将链接发送到所有应用程序。
👀 Capgo 云从未查看链接中的内容(对于外部选项),或在 code 中存储的内容。
🔑 通过使用加密,您可以添加第二层安全性,Capgo 将无法查看或修改任何内容,变得“无需信任”。
示例 package.json 用于版本
{ "version": "1.0.2"}⛔ 版本应大于“0.0.0”。
💡 不要忘记每次发送时更新版本号,版本号不能被覆盖或重复使用,否则会有安全问题。
列表
列表npx @capgo/cli bundle list [appId]
[appId] 您的应用 ID 格式 com.test.app 如图所示 请参阅.
可选地,您可以提供:
--apikey [key]API
删除
删除npx @capgo/cli bundle delete [appId]
[appId] 您的应用 ID 格式 com.test.app 如图所示 请参阅.
可选地,您可以提供:
--apikey [key]API 关键字用于链接到您的账户。--bundle删除该版本。
清理
清理在 SemVer 范围内,针对主要版本更新到 Cloud
npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]
[appId] 您的应用 ID,格式 com.test.app 被说明 在此.
可选地,您可以提供:
--apikey [key]API 关键字用于链接到您的账户。--bundle [majorVersion]您想要删除的版本号,删除之前的包会保留最后一个。numberToKeep.--keep [numberToKeep]您希望保留的包数量(默认为4)。
例如:如果您有 10 个版本,从 10.0.1 到 10.0.11,使用 npx @capgo/cli cleanup [appId] --bundle=10.0.0 它将删除 10.0.1 到 10.0.6。10.0.7 到 10.0.11 将被保留。
如果您有 20 个版本,且未提供包号,如下所示: npx @capgo/cli cleanup [appId] --keep=2 它将删除 18 个版本,保留最后 2 个。
此命令将要求确认,它将显示将保留和删除的表格。
加密
加密部分警告: 此命令已弃用,将在下一个重大版本中删除。请使用新加密系统。
npx @capgo/cli bundle encrypt [path/to/zip]
当您使用外部源存储您的 code 或测试目的时,使用此命令。
您可以选择提供以下选项:
--key [/path/to/my/private_key] 您的私钥路径。
--key-data [privateKey] 如果您想使用内联方式,则可以提供私钥数据。
命令将打印您的y并生成一个加密的zip文件,用于与上传命令或解密命令一起使用。 ivSessionKeyEncrypt V2
npx @capgo/cli bundle encrypt [path/to/zip] [checksum]
This command is used when you use external source to store your code or for test purpose. The checksum is the sha256 of the bundle (generated by —key-v2), it is used to verify the integrity of the file after decryption. It will be enncrypted with the private key and sent along with the bundle. In encryption v2 the checksum is upgraded to become a “signature” of the bundle.
您的私钥路径。
--key [/path/to/my/private_key] 如果您想使用内联方式,则可以提供私钥数据。
--key-data [privateKey] 以 JSON 格式输出信息。
命令将打印您的
--json y并生成一个加密的zip文件,用于与上传命令或解密命令一起使用。 ivSessionKey使用y和生成一个加密的zip,用于上传命令或解密命令。
解密
解密npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]
可选项,您可以提供:
--key [/path/to/my/private_key] 您的私钥路径。
--key-data [privateKey] 如果您想使用内联,您可以提供私钥数据。这个命令主要用于测试目的,会解密zip并在控制台打印base64解密的会话密钥。
解密V2
解密V2npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]
可选项,您可以提供:
--key [/path/to/my/private_key] 您的私钥路径。
--key-data [privateKey] 如果您想使用内联,您可以提供私钥数据。这个命令主要用于测试目的,会解密zip并在控制台打印base64解密的会话密钥。
--checksum [checksum] 文件的校验和,解密后会验证校验和。
压缩
标题:压缩npx @capgo/cli bundle zip [appId]
[appId] 是您的应用程序 ID,格式解释在这里 这里.
您可以选择上传特定文件夹
--path [/path/to/my/bundle]设置文件名中的捆绑包版本号--bundle [1.0.0]覆盖文件名--name [myapp]以 JSON 格式输出信息--json忽略 __CAPGO_KEEP_0__ 检查并发送捆绑包--no-code-checkto ignore the code check and send the bundle anyway.--key-v2兼容性
兼容性
兼容性npx @capgo/cli bundle compatibility [appId] -c [channelName]
[appId] 您的应用程序ID,格式解释在这里 这里.
[channelName] 要检查的频道名称
您可以选择提供:
--apikey [key]API密钥以链接到您的帐户--text在表格中使用文本代替表情符号--channel [channel]要检查兼容性的频道--package-json <packageJson>应用程序的路径(package.json)。对于多包应用程序很有用--node-modules <nodeModules>node_modules路径列表(逗号分隔,例如:../../node_modules,./node_modules)。对于多包应用程序很有用
频道
频道添加
添加npx @capgo/cli channel add [channelName] [appId]
[channelName] 输入您的新频道的名称,例如 production 或 beta. [appId] 输入您的应用程序ID的格式 com.test.app 如 在这里.
删除
删除npx @capgo/cli channel delete [channelName] [appId]
[channelName] 输入您要删除的频道的名称 [appId] 输入您的应用程序ID的格式 com.test.app 如 这里.
列表
列表npx @capgo/cli channel list [appId]
[appId] 您的应用ID的格式 com.test.app 请参阅 这里.
您可以选择提供:
--apikey [key]API
设置
设置npx @capgo/cli channel set [channelName] [appId]
[appId] 您的应用ID,格式请参阅 这里.
[channelName] 您想要配置的频道名称,例如 production 或 beta.
如果需要,您可以提供:
--bundle [1.2.3]将您的应用程序包发送到云端,链接到频道。--latest获取包版本号package.json:version,不能与--bundle.--state [ normal | default ]设置频道状态,可以normal或default。一个频道需要default.--downgrade允许频道向设备发送降级版本。--no-downgrade不允许频道向设备发送降级版本。--upgrade允许频道向设备发送升级(主)版本。--no-upgrade禁止该频道向设备发送升级(主)版本。--ios允许该频道向iOS设备发送版本。--no-ios禁止该频道向iOS设备发送版本。--android允许该频道向Android设备发送版本。--no-android禁止该频道向Android设备发送版本。--self-assign允许设备自行将自己分配到该频道。--no-self-assign禁止设备自行将自己分配到该频道。--disable-auto-update STRATEGY禁用该频道的自动更新策略。可能的选项包括:主版本、次版本、修订版本、元数据、无。--apikey [key]API用于链接到您的帐户。
禁用更新策略
禁用更新策略处理过旧版本时禁用更新的方法有几种。
Capgo 无法更新本地 code 因此,从旧本地 code 版本更新到更新本地 code 版本的更新不应是可能的。
有几种方法可以实现这一点。
首先, major 策略。它防止了从本地基线更新到目标捆绑包的更新。 0.0.0 -> 目标捆绑包 1.0.0。主要是突出显示的数字(1。0.0 和 0.0.0).
第二种是 minor 策略。它防止了当目标捆绑包的主要或次要版本与设备本地基线不同时进行更新,例如 0.0.0 -> 1.1.0 或 1.1.0 -> 1.2.0.
第三种是 patch 策略。它是作为一个非常严格的模式添加到 capgo 中的。除非您完全了解它的工作原理,否则不建议使用。
为了使其接受更新,必须满足以下条件:
- 目标捆绑包和设备本地基线之间的主要版本相同
version_build - 和目标包之间的修订号相同
version_build - 和目标包之间的补丁号相同
version_build - 例如,预发布(
-beta.2)或构建元数据(+build.2)
以下是更新是否允许或拒绝的场景示例
- 1.0.0-beta.1 -> 1.0.0-beta.2 允许
- 1.0.0+build.1 -> 1.0.0+build.2 允许
- 1.0.0 -> 1.0.1 被阻止
- 1.0.0 -> 1.1.0 被阻止
- 1.0.0 -> 2.0.0 被阻止
策略比较使用发送的本地基线 version_build,而不是发送的当前下载包 version_name.
最后的最复杂的策略。 metadata 策略。
首先,您需要知道,在最初启用它后,更新 context Page/area: Capgo Builder / native cloud build product page. Role: Short UI label or navigation item. Message key `native_build_builder_credit_first` (Native Build Builder Credit First).
将
失败,因为通道缺少所需的元数据。
如果通道缺少元数据,您将看到以下消息: misconfigured 找不到元数据
首先,确定哪个通道失败。您可以通过查看 Bundle number. 这应该会将您带到捆绑包页面。
一旦您到那里,请填写 Minimal update version 字段。这应该是一个 语义版本.
如果您传递的值不是语义版本,则会出现错误,但如果一切顺利,您应该会看到类似这样的内容:
现在,您很可能不想每次更新时都手动设置此数据。幸运的是,CLI 将防止您在没有此元数据的情况下发送更新
使用选项上传捆绑包时,请务必正确传递 metadata 参数。 --min-update-version 参数 有效的 SemverSomething like this:
The --min-update-version 这不是唯一的兼容性方法。
还存在 --auto-min-update-version。以下是它的工作原理。
首先,它检查当前上传到频道的版本的兼容性。它检查兼容性与 bundle compatibility 命令一样。
其次,如果新版本100%兼容,它复用频道中最新版本的 min_update_version 。
如果不兼容,则将 min_update_version 设置为新上传版本的
。 min_update_version 当使用此选项时,您始终会获得有关
如果新版本不兼容,应该显示如下
端到端加密(无信任)
标题:端到端加密(无信任)Capgo 支持端到端加密,这意味着您的打包文件(code)在发送到云端之前被加密,并在设备上解密。为此,您需要生成一个RSA密钥对,您可以使用以下命令生成它。
加密系统是RSA和AES的组合,RSA密钥用于加密AES密钥,AES密钥用于加密文件。
有关加密系统的更多信息,请参见下文。
加密模式
为您的应用创建密钥
标题:为您的应用创建密钥npx @capgo/cli key create
可选地,您可以提供: --force 覆盖现有密钥。该命令将为您创建一个密钥对,并要求您将私钥保存在安全的地方。建议您不要将私钥提交到 Git,并且不要与任何人共享。
在本地测试后,删除密钥并在 CI 步骤中添加它
key save
保存密钥在应用配置中
标题:保存密钥在应用配置中npx @capgo/cli key save
可选地,您可以提供:
--key [/path/to/my/public_key] 您的公共密钥文件的路径。
--key-data [publicKey] 公共密钥数据,如果您想使用内联。该命令对于您遵循了建议并没有在应用配置中提交密钥的情况下非常有用。
CI 集成
标题:CI 集成为了自动化您的工作,我建议您让 GitHub 动作负责将密钥推送到我们的服务器
我们的示例应用
名为“我们的示例应用”的部分请记住使用你的 API 密钥配置 CI 环境变量
从命令继续
名为“从命令继续”的部分如果你正在使用 命令 来规划仪表板和 API 操作,连接它到 API 概览 查看 API 概览中的实现细节 介绍 查看《介绍》中的实现细节 API Keys API Keys中的实现细节 设备 查看《设备》中的实现细节, 包 查看《包》中的实现细节。