想简化 应用程序更新 和版本控制? 语义版本控制(SemVer) 与 Capgo的即时更新功能使得管理 Capacitor 更容易和更快。这里是如何做到的:
-
语义版本控制基础: 版本使用以下格式
MAJOR.MINOR.PATCH:- 主要版本: 用于重大变更。
- 次要版本: 对于向后兼容的新功能。
- PATCH: 修复BUG。
-
为什么要使用Capgo的SemVer?
- 清晰的更新通知。
- 更智能的版本管理。
- 避免依赖冲突。
- 有序的发布计划。
-
Capgo设置 步骤:
- 安装Capgo的更新插件。
- 配置您的应用程序版本在
capacitor.config.json和其他文件。 - 使用您的API密钥进行初始化。
- 使用 Capgo CLI 来打包和上传更新。
-
- 使用单独的频道(例如,“beta”用于测试,“production”用于稳定发布)。
- 控制更新策略(自动更新补丁,手动批准重大更改)。
- 回滚选项用于失败的更新。
-
部署流程:
- 更新版本号遵循SemVer规则。
- 在部署之前进行彻底的测试。
- 使用 CLI 命令上传和分发更新。
Capgo 确保更新快速可靠地到达用户,提供工具来处理中断并保持稳定。适合使用 CI/CD 工作流来自动化更新的团队。
快速提示: 始终测试更新并使用渠道来有效管理阶段性发布。
语义版本控制 | 提升水平
Capgo __CAPGO_KEEP_0__

Capgo OTA 更新和版本控制的实时更新仪表板界面
这里是如何设置 __CAPGO_KEEP_0__ 来管理 OTA 更新和版本控制的。
初始设置步骤: Capgo 升级插件:
npm install @capgo/capacitor-updater
npx cap sync
确保您的 capacitor.config.json context
{
"appId": "com.example.app",
"appName": "My App",
"version": "1.0.0"
}
文件使用语义版本格式:
package.json对于较旧的项目,更新版本详细信息在以下位置:version(查找android/app/build.gradle字段)versionName)ios/App/App.xcodeproj/project.pbxproj(更新CURRENT_PROJECT_VERSION)
Once configured, initialize Capgo with your API key:
npx @capgo/cli@latest init YOUR_API_KEY
配置完成后,使用您的 __CAPGO_KEEP_1__ 密钥初始化 __CAPGO_KEEP_0__:
| 快速参考表格: | 设置阶段 | 验证步骤 |
|---|---|---|
| 安装 | 安装插件并同步 | 检查 package.json |
| 配置 | 设置版本号 | 在所有文件中验证 |
| 初始化 | 连接使用API密钥 | 测试连接状态 |
| 构建 | 创建初始包 | 确认上传成功 |
版本控制集成
Capgo 与 CI/CD 平台兼容, 自动更新 简单。支持的平台包括:
如果您正在进行本地开发,您可以通过在配置中添加以下内容来禁用自动更新:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": false
}
}
}
这确保了 Capgo 不会覆盖您的本地更改。一旦您的设置就绪,请上传您的第一个版本:
npx @capgo/cli@latest bundle upload
npx @capgo/cli@latest channel set production -s default
最后,通知本地插件关于捆绑包的健康状况在您的应用主文件中:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
CapacitorUpdater.notifyAppReady();
这种设置确保您的应用程序准备好顺畅的OTA部署和版本管理。
使用语义版本号的Capgo
版本号管理
Capgo使用语义版本号(SemVer)管理应用程序版本,格式为 MAJOR.MINOR.PATCH。以下是如何工作的:
- 主要版本(X.0.0): 对于破坏兼容性的更改,增加MAJOR数字。
- 次要版本(1.X.0): 对于保持兼容性的新功能,增加MINOR数字。
- 修补版本(1.0.X): 增加修订号(PATCH)以修复不影响兼容性的 bug。
| 版本类型 | 何时递增 | 自动更新行为 |
|---|---|---|
| 主版本(X.0.0) | 用于破坏性API更改 | 需要手动审批 |
| 次版本(1.X.0) | 用于新功能 | 可在Capgo中配置 |
| 修订版本(1.0.X) | 用于 bug 修复 | 通常自动 |
遵循 SemVer 规则可以简化版本管理并确保您的部署通道中的更新更加Smooth。
版本控制指南
Capgo允许您有效地管理部署,通过为您的工作流程中的不同阶段设置不同的通道。
-
基于通道的版本管理:通过创建用于测试和生产的独立通道来组织您的部署过程。例如:
- 使用“beta”通道(例如,1.2.0-beta)进行测试新功能。
- 保持“生产”通道(例如,1.2.0)用于稳定发布。
- 添加平台特定通道(例如,“ios-hotfix”版本为1.2.1)来解决平台特定问题。
-
更新策略配置:使用Capgo的配置选项来控制更新的应用方式。例如:
{ "plugins": { "CapacitorUpdater": { "disableAutoUpdate": "minor" } } }此设置确保用户自动接收补丁更新,而小版本和重大更新需要手动批准。
-
版本回滚策略: 使用预发布标识符来维持清晰的回滚选项。这种方法允许您在出现问题时回滚到以前的版本,同时保持所有通道的版本一致。
这些最佳实践使得管理更新、测试新功能和维持应用部署过程的稳定性变得更加容易。
sbb-itb-f9944d2
OTA更新部署
OTA更新部署
更新准备
首先更新 context: Capgo营销网站. 角色: 短UI标签或导航项. 见于: page trust.astro. 消息键 `and` (And). __CAPGO_KEEP_0__.config.json capacitor.config.json__CAPGO_KEEP_0__
- Bug Fix: 增加PATCH版本号(例如,1.0.1 → 1.0.2)
- New Feature: 增加MINOR版本号(例如,1.0.0 → 1.1.0)
- Breaking Change: 增加MAJOR版本号(例如,1.0.0 → 2.0.0)
Thoroughly test your build and confirm the app communicates with the server using notifyAppReady.
Next, decide on your update strategy. You can choose from:
- Auto-Update: 自动执行最低版本要求
- 手动控制: 指定更新的精确版本要求。
- 基于频道的: 使用频道进行测试和阶段性发布。
Capgo CLI 更新命令
使用Capgo的CLI轻松部署您的更新。以下是如何做到的:
# Initialize Capgo in your project
npx @capgo/cli@latest init [apikey]
# Upload your update bundle
npx @capgo/cli bundle upload [appId]
# Add a new distribution channel
npx @capgo/cli channel add [channelName] [appId]
Capgo确保安全部署,使用端到端加密和安全密钥管理。
“@Capgo是一种聪明的方式来进行热code推送(而不是像@AppFlow那样花所有的钱 🙂”
部署后,您可以通过Capgo的控制台监控更新。更新通常在用户打开应用程序后几分钟内就可以到达。以下是该过程的工作原理:
- 应用程序检查更新。
- 在后台下载更新。
- 在用户退出应用程序时将新版本标记为活动。
- 下一次启动时应用更新。
对于企业级部署,您可能想将CI/CD自动化集成。
“我们实行敏捷开发,@Capgo 在持续交付给用户方面至关重要!”
问题解决和提示
版本管理问题
在Capgo中管理语义版本号有时会使更新部署变得复杂。为了避免覆盖开发工作,请在您的 capacitor.config.json 文件中配置以下内容:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": false
}
}
}
如果更新失败,以下是您可以采取的措施:
- 设置
autoUpdate到false上下文:产品页面:实时更新产品页面。角色:短的UI标签或导航项。消息键`live_update_dynamic_label_to`(实时更新动态标签到)。 - 在开发期间。
- 重新安装它使用修正的版本。
- 一旦稳定后,重新启用自动更新。
对于主要版本更新,使用标志并监听事件来正确处理更新: disableAutoUpdateBreaking 通过结合这些配置项和良好的团队实践,您可以维持版本一致性并减少错误。 majorAvailable 团队版本控制
CapacitorUpdater.addListener('majorAvailable', (info) => {
console.log(`Major update available: ${info.version}`);
// Add your update prompt logic here
});
一旦个人更新被管理,团队就需要建立强大的版本控制实践。
“在合并到主仓库之前测试每个更改将加强稳定性并避免昂贵的错误”
以下是确保一致性的方法:
定义一个 branch 作为主仓库 [4]
flag
- event branch 作为真实来源。
- 分别使用Capgo开发和生产环境的渠道。
- 通过CI/CD管道自动上传版本。
- 以清晰详细的提交信息记录所有code的变更。
对于更大的团队,以下版本管理矩阵可以帮助组织更新:
| 环境 | 渠道 | 自动更新 | 版本模式 |
|---|---|---|---|
| 开发 | dev | 禁用 | 0.x.x |
| 测试环境 | beta | 已启用 | x.x.x-beta |
| 生产环境 | 稳定 | 已启用 | x.x.x |
更新恢复步骤
即使采取了预防措施,更新也可能失败。如果发生这种情况,请遵循以下恢复步骤:
- 回滚到之前的稳定包
- 任何修复的新版本号都应递增(注意:删除后版本号不能重复使用) [2].
- 在应用启动时验证更新,以确保它们正常工作。
Capgo的更新器旨在处理中断。例如,如果服务器不可达或更新被删除,应用将继续正常运行 [3].此外,失败的网络请求将在下一次应用启动时自动重试 [3].这种内置的弹性降低了停机时间并确保了更平滑的运作
概要
语义版本控制,结合Capgo,使Capacitor应用的OTA更新更高效。通过947.6亿次更新和1,400个生产应用使用此系统 [1],部署过程效率提高了81% [1].这种设置允许开发者快速推送更新并在受控的方式下进行,绕过应用商店的延迟
开发者的话
“我们推出了 Capgo OTA更新 在我们的用户群+5000人中,生产环境中运营非常顺畅。我们看到几乎所有用户在OTA部署到@Capgo后几分钟内就能保持最新状态。- colenso [1]
MAJOR.MINOR.PATCH版本系统使得轻松地与用户沟通重大更新、新功能和bug修复 [5]特别适用于每周通过Capgo平台管理多个发布的团队
Capgo的 加密解决方案,与CI/CD工具集成,成本也很低,节省了五年内的成本达$26,100 [1]。其可定制的频道确保更新在正确的时间到达正确的用户
“我们实行敏捷开发,@Capgo在持续交付给用户方面是 mission-critical!” - Rodrigo Mantica [1]
继续阅读How to Use Semantic Versioning with Capgo OTA Updates
如果您正在使用 如何使用Capgo OTA Updates 来规划回滚和版本控制,连接它 回滚 回滚的实现细节 版本目标 版本目标 更新行为 更新行为 包 包 Capgo 实时更新 for the product workflow in Capgo Live Updates.