跳过主内容

npm Scripts for Capacitor OTA Updates Explained

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

马丁·多纳迪

马丁·多纳迪

内容营销

npm Scripts for Capacitor OTA Updates Explained

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

您将学习以下内容:

  • 如何设置 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 file 以简化构建和部署过程:

{
  "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管道中,可以简化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 确保安全更新,使用端到端加密,并允许通过其通道系统进行战略性部署。通过其 23.5 万次更新和 750 个生产应用程序,证明了其可扩展性和可靠性 [1].

平台比较

When using npm scripts, it’s essential to evaluate platforms based on encryption, speed, and CI/CD integrations. Here’s a quick comparison of features:

功能 实现细节 更新成功率
端到端加密 全加密支持 全球82% [1]
更新速度 5 MB 打包包更新速度114 ms 全球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强有力的竞争者 更新管理.

结论

主要点回顾

使用 npm 脚本简化了管理 Capacitor OTA 更新的过程。 当这些脚本与 CI/CD pipeline 集成时,它们可以帮助自动部署,同时确保安全性并维持性能水平。

以下是重点区域:

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

这些功能突出了 Capgo 作为可靠 OTA 更新管理工具的优势。

Capgo 优势

由于 Microsoft 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].

继续使用 npm 脚本来了解 Capacitor OTA 更新的说明

如果您正在使用 npm 脚本为 Capacitor OTA 更新解释 以规划安全性和合规性为目的,连接它 加密 加密的实施细节 合规 合规的实施细节 Capgo 安全扫描器 产品工作流程在 Capgo 安全扫描器中 Capgo 安全 产品工作流程在 Capgo 安全中 Capgo 信任中心 为产品工作流程在Capgo信任中心。

立即开始

Capgo gives you the best insights you need to create a truly professional mobile app.