跳过主内容

npm Scripts for Capacitor OTA Updates Explained

了解如何使用npm脚本自动化Capacitor应用的OTA更新,提高部署效率和用户体验。

马丁·多纳迪

马丁·多纳迪

内容营销

npm Scripts for Capacitor OTA Updates Explained

更新你的 Capacitor app 的开发从未如此简单。 通过结合 npm 脚本和 OTA (Over-The-Air) 更新,您可以自动部署、节省时间并确保您的用户始终拥有最新版本 - 无需等待应用商店批准。

您将学习以下内容:

  • 如何设置 npm 脚本进行 OTA 更新。
  • 将更新集成到 CI/CD pipeline 中以实现自动化。
  • 管理应用版本、安全性和测试更新。
  • 为什么 __CAPGO_KEEP_0__ 是管理 OTA 更新的可靠平台。 Capgo 使用一条命令自动更新。

使用加密安全地部署更新。

  • app has never been easier.
  • By combining Over-The-Air (OTA) updates with __CAPGO_KEEP_0__ scripts, you can automate deployments, save time, and ensure your users always have the latest version - without waiting for app store approvals.
  • 整合更新到工作流程中,如 GitHub 动作.
  • 使用工具如 Capgo 可以节省时间,更新时间小于 500ms。

快速设置示例:

  1. 安装工具: npm install @capgo/cli --save-dev
  2. capacitor.config.json.
  3. 添加 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"
    }
  }
}

此配置确保您的应用程序可以自动获取更新并报告统计数据。

创建部署脚本

将这些npm脚本添加到您的 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: 将更新包上传到 Capgo。
  • deploy:production: 完全处理构建和部署工作流程,适合生产发布。

设置环境变量

为了完成设置,定义这些环境变量:

CAPGO_TOKEN=your_api_token
CAPGO_APP_ID=your_app_id

兼容性和可靠性

的 Capgo CLI 支持 Capacitor 8,确保它与最新版本一起工作,同时保持可靠的更新功能。

脚本命令目的何时使用
build:web构建 web 资产在开发和部署期间
build:update准备 OTA 更新包在每次 OTA 更新之前
deploy:update上传更新到 Capgo当更新准备好推送时
deploy:production处理完整工作流用于生产发布

添加 npm 脚本到 CI/CD

将 npm 脚本集成到 CI/CD pipeline 中可以简化 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 动作 设置指南

GitHub 动作

为了自动化您的部署工作流程,请创建一个 .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"
  }
}

使用生产、beta、alpha和hotfix等独立通道可以实现针对性的发布。这些策略使得测试更新和确保顺利部署变得更加容易。

更新测试步骤

自动化测试对于早期捕捉问题至关重要。使用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实时更新控制台界面

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个生产应用中成功交付了2,350万次更新,证明了其可扩展性和可靠性 [1].

平台比较

使用 npm 脚本时,需要根据加密、速度和 CI/CD 集成来评估平台。以下是功能的快速比较:

功能实现细节更新成功率
端到端加密支持全加密全球 82% [1]
更新速度114 ms,5 MB 打包全球 CDN 交付
CI/CD 集成GitHub Actions,GitLab CI自定义工作流

“我们实践敏捷开发,@Capgo 在持续为用户交付方面至关重要!”
– Rodrigo Mantica [1]

OTA更新市场发生了重大变化,尤其是在 Microsoft Code Push 在 2024 年关闭后, Appflow 将于 2026 年关闭。Simon Flack 分享了他对这些变化的看法:

“我们目前正在尝试 @Capgo,因为 Appcenter 停止对混合应用程序的实时更新支持,而 @AppFlow 的费用太高了。” [1]

成本是团队的另一个重要考虑因素。Capgo 计划从每月 12 美元开始,包括 OTA 更新和约 15 个本机构建/月;额外的构建分钟通过信用额度按分钟计费。这个价格比企业级别的替代方案的 6,000 美元的年度费用要低得多 [1].

在将 npm 脚本集成到您的部署工作流中时,请考虑以下因素:

  • API 响应性 为了smooth的脚本执行
  • 频道管理 为目标更新
  • CI/CD管道集成 为流程的简化
  • 强大的安全措施 确保遵守
  • 可负担性 为了不破坏预算的扩展

Capgo的能力处理复杂npm脚本配置,同时保持高性能,使其成为OTA强大的竞争者 更新管理.

结论

Main Points Review

使用 npm 脚本简化了管理 Capacitor OTA 更新的过程。将这些脚本集成到 CI/CD pipeline 中有助于自动化部署,同时确保安全性并维持性能水平。

以下是重点关注的领域:

  • 自动化部署:无需人工干预即可处理版本和部署。
  • 安全措施:确保更新以端到端加密的方式安全地分发。
  • 性能监控:跟踪更新的传递速度和成功率。

这些功能突出了 Capgo 在管理 OTA 更新方面的可靠性。

Capgo 优势

微软 CodePush 在 2024 年关闭后,OTA 更新的格局已经发生了变化。 Capgo 已经成为了可靠的解决方案,成功地将 2,350 万次更新推送到 750 个生产应用中 [1].

“我们实践敏捷开发,@Capgo 在为用户持续交付方面至关重要!” – Rodrigo Mantica [1]

Capgo 的性能指标自有说服力:

性能指标成就
平均 API 响应时间434 ms 全球
包下载速度114 ms 下载 5 MB
更新成功率全球 82%

从每月 12 美元起,支持 OTA 更新和约 15 个本机构建/月 - 并通过信用额度按分钟计费额外构建分钟 - Capgo 提供了一个安全、可靠且成本效益的选项来管理 OTA 更新和本机构建自动化 [1].

实时更新 Capacitor 应用

当 web 层 bug 活跃时,通过 Capgo 将修复推送到用户,而不是等待几天的应用商店审批。用户在后台接收更新,而本机更改仍在正常审批路径中。

立即开始

最新博客文章

Capgo 为您提供创建真正专业的移动应用所需的最佳见解。