命令
复制一个包含安装步骤和本插件的完整 Markdown 指南的配置提示。
使用
关于使用所有命令应在您的应用程序文件夹中运行,确保 capacitor 项目已正确启动。
初始化
关于初始化npx @capgo/cli@latest init [apikey]
此方法旨在一步步引导您入门。
它将添加您的应用程序到 Capgo 中。它将添加 code 到您的应用程序以验证更新。同样,它将构建您的应用程序。另外,它将上传您的应用程序到 Capgo 中。最后,它将帮助您检查更新是否有效。
登录
关于登录npx @capgo/cli login [apikey]
此方法旨在记住您的登录信息 apikey 为您提供服务。
可选地,您可以提供:
--local 将会将您的 apikey 存储在本地仓库中并将其忽略在git中。
npx @capgo/cli doctor
检查是否您是否已更新为Capgo包的命令.
This command will also be useful for bug report.
应用
应用标题:应用添加
添加标题:添加npx @capgo/cli app add [appId]
[appId] 在应用ID的格式中填写 com.test.app 详解 请参阅.
💡 如果未提供,则所有选项都会在您的配置中被猜测。
如果需要,可以提供:
--icon [/path/to/my/icon]以自定义图标在Capgo web应用中显示--name [test]以自定义名称在列表中显示--apikey [key]API key 到您的帐户。--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 网站应用程序中。--name [test]在列表中以自定义名称显示。--retention [retention]app 包的保留期限(天),默认值为 0,即无限期。--apikey [key]API 用于链接到您的帐户。
列表
标题为“列表”npx @capgo/cli app list [appId]
[appId] 您的应用 ID 格式 com.test.app 如图所示 这里有详细说明.
您可以选择提供:
--apikey [key]API 用于链接到您的帐户。
删除
标题为“删除”npx @capgo/cli app delete [appId]
[appId] 您的应用 ID 格式 com.test.app 在此处有说明 在此处有说明.
您可以选择提供:
--apikey [key]API--bundle__CAPGO_KEEP_0__
__CAPGO_KEEP_0__
调试npx @capgo/cli app debug [appId]
[appId] 调试 com.test.app 您的应用 ID 的格式 在此处有说明.
在此处有说明
--apikey [key]API key to link to your account.--deviceWith __CAPGO_KEEP_0__ 设备进行调试
npx @capgo/cli app setting [path]
编辑 Capacitor 配置。
[path] - 你想改变的设置路径。例如,要改变 appId, 提供 appId.
如果你想在 capacitor-updater, 提供 plugins.CapacitorUpdater.autoUpdate 与 --string off.
您必须提供 --string 或 --bool!
选项:
--string <string>- 将设置设为一个字符串--bool <true | false>- 将设置设为一个布尔值
Bundle
标题:BundleUpload
标题:上传npx @capgo/cli bundle upload [appId]
[appId] 是您的应用ID,格式解释 在这里.
您可以选择性地提供:
--apikey <apikey>API 键来链接到您的帐户--path <path>上传文件夹的路径--channel <channel>链接到频道--external <url>将文件上传到 Capgo Cloud 以外的 URL--iv-session-key <key>设置捆绑 URL外部的 IV 和会话密钥--s3-endpoint <s3Endpoint>S3 端点的 URL。 不支持 delta 上传或外部选项--s3-region <region>您的 S3 存储桶的区域--s3-apikey <apikey>API key--s3-apisecret <apisecret>API secret--s3-bucket-name <bucketName>您的 AWS 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>要上传的打包的版本号.--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>用于 monorepos 的 package.json 路径。--package-json <packageJson>设置捆绑包在 __CAPGO_KEEP_0__.config.json 中。--auto-set-bundleSet the bundle in capacitor.config.json.--node-modules <nodeModules>⭐️ 外部选项可以解锁 2 个案例:企业有隐私顾虑,不向第三方发送 __CAPGO_KEEP_0__,并且应用大于 200 MB。使用此设置,__CAPGO_KEEP_1__ 只会存储 zip 链接并将链接发送给所有应用。
👀 code 云服务不会查看链接中的内容(对于外部选项),或在 Capgo 中存储的内容。
👀 Capgo cloud never looks at what is in the link (for external option), or in the code when stored.
Capgo 选项:仅上传 Delta (清单) 更新,跳过完整的捆绑包。
示例 package.json 用于版本
{ "version": "1.0.2"}⛔ 版本应大于“0.0.0”。
💡 每次发送时,请记得更新版本号,版本号不能被覆盖或重复使用,否则会影响安全性。
npx @capgo/cli bundle list [appId]
[appId] 您需要提供的应用 ID 格式 com.test.app 详见 您可以选择提供:.
__CAPGO_KEEP_0__
--apikey [key]API key to link to your account.
删除
删除部分npx @capgo/cli bundle delete [appId]
[appId] 你的应用ID的格式 com.test.app 在这里有说明 here.
你可以选择给出:
--apikey [key]API--bundle与版本号一起使用只会删除这个版本
清理
清理部分在一个 SemVer 范围内清理一个大版本的
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] 如果您想使用内联,则私钥数据。 ivSessionKey命令将打印您的
y 并生成一个加密的 zip 文件,用于与上传命令或解密命令一起使用。
《加密 V2》npx @capgo/cli bundle encrypt [path/to/zip] [checksum]
此命令用于在使用外部源存储您的 code 或测试目的时。 校验和是由 —key-v2 生成的 bundle 的 sha256,它用于在解密后验证文件的完整性。 它将使用私钥加密并与 bundle 一同发送。 在加密 v2 中,校验和升级为 bundle 的“签名”。
可选项:
--key [/path/to/my/private_key] 您的私钥路径。
--key-data [privateKey] 如果您想使用内联,则使用私钥数据。
--json 以 JSON 格式输出信息。
命令将打印您的 ivSessionKeyy 并生成一个加密的 zip,用于与上传命令或解密命令一起使用。
解密
《解密》npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]
可选项:
--key [/path/to/my/private_key] 您的私钥路径。
--key-data [privateKey] 如果您想使用内联,则使用私钥数据。该命令主要用于测试目的,会解密 zip 并在控制台打印 base64 解密的会话密钥。
V2解密
V2解密npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]
您可以选择提供:
--key [/path/to/my/private_key] 您的私钥路径。
--key-data [privateKey] 如果您想使用内联方式,则需要提供私钥数据。这条命令主要用于测试目的,会解密zip并在控制台打印base64解密后的会话密钥。
--checksum [checksum] 文件校验和,解密后会校验文件校验和。
zip
您的应用ID,格式解释npx @capgo/cli bundle zip [appId]
[appId] 这里 您可以选择提供:.
上传特定文件夹
--path [/path/to/my/bundle]Section titled “Zip”--bundle [1.0.0]设置文件名的版本号。--name [myapp]覆盖文件名。--json以 JSON 格式输出信息。--no-code-check忽略 code 检查并发送包。--key-v2使用新加密系统。由于新加密系统使用更好的校验和来验证文件的完整性,因此这是必需的。
npx @capgo/cli bundle compatibility [appId] -c [channelId]
[appId] 这里 您的新频道的名称。.
[channelId] 可选项,您可以提供:
__CAPGO_KEEP_0__ 密钥以链接到您的帐户。
--apikey [key]API key to link to your account.--text使用文本代替表格中的表情符号--channel [channel]检查兼容性的频道--package-json <packageJson>到package.json的路径。对于多包仓库很有用--node-modules <nodeModules>到node_modules的路径列表。对于多包仓库很有用(以逗号分隔,例如:../../node_modules,./node_modules)
频道
频道标题添加
添加标题npx @capgo/cli channel add [channelId] [appId]
[channelId] 您的新频道的名称 [appId] 应用ID的格式 com.test.app 这里有说明 这里有说明.
删除
删除选项npx @capgo/cli channel delete [channelId] [appId]
[channelId] 您要删除的频道名称. [appId] 您的应用ID的格式 com.test.app 在这里解释 这里.
列表
删除选项npx @capgo/cli channel list [appId]
[appId] 您的应用ID的格式 com.test.app 在这里解释 这里.
您可以选择填写:
--apikey [key]API key 链接到您的帐户。
设置
标题为“设置”npx @capgo/cli channel set [channelId] [appId]
[appId] 是您的应用 ID,格式解释 在这里.
可选地,您可以提供:
--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).
第二种是 minor 策略。它防止了从 0.0.0 -> 1.1.0 到 1.1.0 的更新或从 1.2.0.
注意 这个策略并不能防止更新 0.1.0 -> 1.1.0
第三, patch 策略。它被添加到capgo作为一个非常严格的模式。除非您完全了解它的工作原理,否则不建议使用。
为了让它接受更新,以下条件必须满足:
- 新旧版本的主版本号相同
- 新旧版本的次版本号相同
- 新版本的补丁版本号大于旧版本的补丁版本号
以下是更新被允许或拒绝的场景示例
- 0.0.311 -> 0.0.314 ✅
- 0.0.0 -> 0.0.314 ✅
- 0.0.316 -> 0.0.314 ❌
- 0.1.312 -> 0.0.314 ❌
- 1.0.312 -> 0.0.314 ❌
最后,最复杂的策略。 metadata 策略。
首先,您需要了解在启用它后最初更新 将会 无法作为渠道缺少所需的元数据。
如果渠道缺少元数据,您将看到以下信息:
如果您看到类似这样的信息,则需要前往当前的捆绑包中,设置所需的元数据。
首先,确定哪个渠道出现问题。您可以通过查看 misconfigured 列
然后前往出现问题的渠道并点击 Bundle number。这应该会将您带到捆绑包页面。
在那里填写 Minimal update version 字段。这应该是 semver.
如果您传入的值不是一个semver,您将会得到一个错误,但如果一切顺利,您应该会看到如下内容:
现在,您很可能不想每次更新时都手动设置此数据。幸运的是,CLI 将防止您在没有此元数据的情况下发送更新
当使用选项时,要正确上传一个捆绑包,您需要传入一个 metadata 并且 --min-update-version 一个有效的semver 。例如:__CAPGO_KEEP_0__ upload with metadata
__CAPGO_KEEP_0__ --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
将密钥保存到应用配置中
Section titled “在应用配置中保存密钥”npx @capgo/cli key save
Optionally, you can give:
--key [/path/to/my/public_key] 你的公钥文件路径。
--key-data [publicKey] 如果你想使用内联方式,直接输入公钥数据。这条命令适用于你遵循了我们的建议,没有将密钥提交到应用配置中。
为了自动化工作,我建议你让GitHub动作负责将密钥推送到我们的服务器
我们的示例应用
Section titled “我们的示例应用”请记得配置CI环境变量并使用你的API密钥
继续使用命令
命令:继续如果您正在使用 命令 to plan dashboard and API operations, connect it with API for the implementation detail in API Overview, __CAPGO_KEEP_0__ 查看 API for the implementation detail in API Keys, __CAPGO_KEEP_0__ __CAPGO_KEEP_0__和设备的实现细节 __CAPGO_KEEP_0__和捆绑包的实现细节 __CAPGO_KEEP_0__页面