更新您的 Capacitor 应用程序从未像现在这样简单。 通过结合 OTA 更新和 npm 脚本,您可以自动部署、节省时间并确保您的用户始终拥有最新版本 - 无需等待应用商店批准。
以下是您将要学习的内容:
- 如何设置 npm 脚本用于 OTA 更新。
- 将更新集成到 CI/CD pipeline 中以实现自动化。
- 管理应用版本、安全性和测试更新。
- 为什么 Capgo 是一个可靠的平台来管理OTA更新。
关键优势:
- 使用一条命令自动更新。
- 使用加密安全地部署更新。
- 将更新集成到工作流程中,如 GitHub Actions.
- 使用工具如Capgo节省时间,更新时间小于500ms。
快速设置示例:
- 安装工具:
npm install @capgo/cli --save-dev - 配置更新
capacitor.config.json. - 添加 npm 脚本,如
deploy:production以简化部署。
随着像 Capgo 这样的平台提供快速更新(24 小时内 95% 的用户采用)和合理的价格,管理 OTA 更新从未如此高效。
npm 脚本设置 OTA 更新
以下是如何配置 npm 脚本来管理 Capacitor OTA 更新 的有效方法。这涉及安装必要的包、设置配置和创建部署脚本。
安装必需的包
首先,安装必需的包。使用 Capgo CLI 工具 可以简化此过程,内置命令:
npm install @capgo/cli --save-dev
npm install @capacitor/cli --save-dev
然后,使用以下命令初始化 OTA 配置:
npx @capgo/cli init
配置 OTA 更新
更新您的 capacitor.config.json 将以下设置添加到文件中,以便您的应用程序可以准备好 OTA 更新:
{
"appId": "com.your.app",
"appName": "Your App",
"plugins": {
"CapacitorUpdates": {
"autoUpdate": true,
"updateUrl": "https://api.capgo.app/updates",
"statsUrl": "https://api.capgo.app/stats"
}
}
}
此配置确保您的应用程序可以自动获取更新并报告统计数据。
创建部署脚本
Add these npm scripts to your package.json 文件中,以简化构建和部署流程:
{
"scripts": {
"build:web": "npm run build",
"build:update": "npx @capgo/cli build",
"deploy:update": "npx @capgo/cli upload",
"deploy:production": "npm run build:web && npm run build:update && npm run deploy:update"
}
}
build:web: 构建 web 资产,通常用于开发和部署。build:update: 为 OTA 更新准备更新包。deploy:update: Uploads the update package to Capgo.deploy:production: 处理完整的构建和部署工作流程,适用于生产发布。
“我们直接在您喜爱的平台中配置您的CI/CD管道,无论是GitHub Actions、GitLab CI还是其他。我们不托管CI/CD或为其收取维护费用。” - Capgo [1]
设置环境变量
为了完成设置,请定义这些环境变量:
CAPGO_TOKEN=your_api_token
CAPGO_APP_ID=your_app_id
兼容性和可靠性
The Capgo CLI supports Capacitor 8, ensuring it works with the latest versions while maintaining dependable update functionality.
| 脚本命令 | 目的 | 何时使用 |
|---|---|---|
| build:web | 构建web资产 | 开发和部署期间 |
| build:update | 为更新包做好准备 | 每次OTA更新之前 |
| 部署:更新 | 将更新上传到Capgo | 当更新准备好推送时 |
| 部署:生产 | 处理完整的工作流 | 用于生产发布 |
将npm脚本添加到CI/CD
将npm脚本集成到CI/CD管道中可以简化Capacitor应用的OTA更新过程。以下是设置自动部署的高效指南。
CI/CD构建设置
配置CI/CD环境并使用必要的变量和步骤:
environment:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
CAPGO_APP_ID: ${{ secrets.CAPGO_APP_ID }}
NODE_ENV: production
为了获得最佳性能,请在构建过程中包含缓存:
cache:
paths:
- node_modules/
- .npm/
- dist/
GitHub Actions 设置指南

为了自动化您的部署工作流程,请创建一个 .github/workflows/ota-deploy.yml 文件,包含以下配置:
name: Deploy OTA Update
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '24'
- name: Install dependencies
run: npm ci
- name: Run deployment
run: npm run deploy:production
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
CAPGO_APP_ID: ${{ secrets.CAPGO_APP_ID }}
此设置确保您的应用程序在推送到 main 分支时自动部署。
更新恢复和修复
为了处理潜在的更新故障,请在CI/CD管道中包含恢复机制。这些功能可以帮助维持应用程序的稳定性:
| 恢复功能 | 实现 | 目的 |
|---|---|---|
| 版本回滚 | npm run revert:update | 恢复到最后一个稳定版本 |
| 健康检查 | npm run verify:update | 确保更新正常工作 |
| 自动重试 | maxRetries: 3 在配置中 | 尝试多次更新 |
您可以通过增强部署脚本来自动管理错误。例如:
npm run deploy:production || npm run revert:update
此脚本确保如果部署失败,系统将恢复到上一个稳定版本。此外,您的CI/CD管道可以通过您的首选平台发送状态报告并触发通知。
OTA更新管理提示
有效地管理OTA更新涉及密切关注版本控制、严格测试和强大的安全协议。以下是如何使用npm脚本来简化更新。
版本管理
语义化版本管理是管理应用程序更新的简单方法。 以下是一个示例配置:
{
"version": "2.5.0",
"scripts": {
"update:major": "npm version major && npm run deploy:update",
"update:minor": "npm version minor && npm run deploy:update",
"update:patch": "npm version patch && npm run deploy:update"
}
}
使用独立的渠道,如生产环境、测试环境、内部测试环境和紧急修复环境,能够实现针对性的发布。这些策略使得更新测试和发布变得更加容易。
测试步骤更新
自动化测试对于早期发现问题至关重要。使用 npm 脚本来简化流程:
npm run test:update -- --channel=beta
npm run verify:deployment
npm run monitor:metrics
通过不同渠道分阶段测试更新有助于在问题发生前识别问题。另外,自动回滚程序也是保持应用稳定性的一个安全网。
更新安全措施
安全性在OTA更新中至关重要。以下是需要采取的关键措施:
| 安全功能 | 实施 | 目的 |
|---|---|---|
| 全端加密 | 由 Capgo 提供 | 防止数据泄露 |
| 更新签名 | 包验证 | 确认更新是真实的 |
| 访问控制 | 基于角色的权限 | 限制团队访问 |
“唯一有真正端到端加密的解决方案,其他人只是签名更新” - Capgo [1]
为了确保更新是安全的,请配置 npm 脚本来在部署之前验证所有内容:
{
"scripts": {
"predeploy": "npm run security:check",
"deploy": "capgo upload --encrypt",
"security:check": "npm audit && npm run validate:bundle"
}
}
另外,强制执行通道特定的安全策略,并使用基于角色的权限来控制谁可以分发更新。这会为您的部署过程添加一个额外的保护层
OTA更新平台选项
选择合适的OTA更新平台对于有效地将npm脚本集成到您的工作流程中至关重要。优先考虑性能、安全性和与现有工具兼容性的因素。以下是Capgo和其他市场选项的详细信息,以便您做出明智的决定。
Capgo 功能

Capgo专门设计用于Capacitor OTA更新,平均更新速度为434毫秒,实现了95%的用户更新率 [1]它提供了与npm脚本的无缝集成,如下面的示例所示:
{
"scripts": {
"deploy:production": "capgo upload --channel production",
"deploy:beta": "capgo upload --channel beta --encrypt",
"rollback": "capgo revert --channel production"
}
}
Capgo确保安全更新并允许通过其通道系统进行战略性部署。通过其通道系统,已成功部署了750个生产应用程序中的23.5万次更新,证明了其可扩展性和可靠性 [1].
平台比较
当使用npm脚本时,评估平台的加密、速度和CI/CD集成至关重要。以下是功能的快速比较:
| 功能 | 实现细节 | 更新成功率 |
|---|---|---|
| 端到端加密 | 全面的加密支持 | 全球市场占有率82% [1] |
| 更新速度 | 5 MB 的包装时间为 114 ms | 全球 CDN 交付 |
| __CAPGO_KEEP_0__ 操作,GitLab CI | GitHub Actions, GitLab CI | “我们实践敏捷开发,@__CAPGO_KEEP_0__ 对于持续交付给我们的用户至关重要!” |
“We practice agile development and @Capgo is mission-critical in delivering continuously to our users!”
OTA 更新市场已经发生了重大变化,尤其是在 [1]
– 罗德里戈·曼蒂卡 微软 Code 推送 在 2024 年關閉,與 应用流 在 2026 年后,Capgo 将遵循这些变化。Simon Flack 分享了他对这些变化的看法:
我们目前正在尝试使用@Capgo,因为Appcenter已经停止对混合应用的实时更新支持,而@AppFlow的费用太高了。 [1]
成本是团队的另一个重要考虑因素。 Capgo 提供的即时更新仅需每月 12 美元,远低于企业级别的替代方案的 6,000 美元的年度费用 [1]. 对于需要自动化CI/CD来构建原生应用的团队,一个一次性设置服务可用,价格为$2,600。
在实施npm脚本到您的部署流程中时,需要考虑以下因素:
- API 敏感度 顺畅的脚本执行
- 频道管理 针对性的更新
- CI/CD pipeline 集成 为流程化的流程
- 强大的安全措施 确保遵守
- 可负担性 在不破坏预算的情况下进行规模化
Capgo’s 处理复杂npm脚本配置的能力,同时保持高性能,使其成为OTA更新的强有力竞争者 OTA更新管理.
结论
主要点回顾
使用npm脚本简化了管理CapacitorOTA更新的过程。 当这些脚本集成到CI/CD管道中时,它们有助于自动部署,同时确保安全性并维持性能水平
以下是重点关注的领域:
- 自动部署:无需人工干预即可处理版本和部署。
- 安全措施:确保更新以端到端加密方式安全地分发。
- 性能监控:跟踪更新的传递速度和成功率。
这些功能突出了Capgo作为OTA更新管理工具的可靠性。
Capgo的优势
由于Microsoft CodePush将于2024年关闭,OTA更新的景象已经发生了变化。Capgo已经成功在750个生产应用中分发了2,350万次更新,成为了可靠的解决方案。 [1].
“我们实行敏捷开发,@Capgo在持续向用户分发方面是mission-critical的!” – Rodrigo Mantica [1]
Capgo的性能指标自说不必说:
| 性能指标 | 成就 |
|---|---|
| 平均 API 响应时间 | 全球 434 ms |
| 捆绑下载速度 | 5 MB 114 ms |
| 更新成功率 | 全球 82% |
仅需每月 12 美元起,相比之下企业级解决方案每年 6,000 美元,Capgo 提供了安全、可靠和成本效益的 OTA 更新管理方案 [1].