跳过主要内容

npm Capacitor OTA更新的脚本

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

Martin Donadieu

Martin Donadieu

内容营销人员

npm 脚本用于 Capacitor OTA 更新的解释

更新您的 Capacitor 应用程序从未像现在这样简单。 通过结合 OTA 更新和 npm 脚本,您可以自动部署、节省时间并确保您的用户始终拥有最新版本 - 无需等待应用商店批准。

以下是您将要学习的内容:

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

关键优势:

  • 使用一条命令自动更新。
  • 使用加密安全地部署更新。
  • 将更新集成到工作流程中,如 GitHub Actions.
  • 使用工具如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"
    }
  }
}

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

创建部署脚本

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 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实时更新控制台界面

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 CIGitHub 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].

实时更新Capacitor应用

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

立即开始

最新博客文章

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