跳过主要内容
开发 移动 更新

使用 Capgo: 回滚管理指南

了解如何使用流程化更新、自动恢复选项和稳定性最佳实践高效地管理应用程序回滚。

马丁·多纳迪厄

马丁·多纳迪厄

内容营销人员

使用 Capgo: 回滚管理指南

回滚管理对于修复 应用程序更新 导致崩溃或错误 非常重要。使用 Capgo: 您可以快速恢复到一个稳定的版本而无需获得应用商店的批准。这里是如何做到的 Capgo: 简化了回滚管理:

  • 快速恢复: 回滚平均仅需114毫秒
  • 自动更新: 无需手动干预 - Capgo 会自动处理更新和回滚。
  • 安全流程: 使用端到端加密确保更新安全。
  • 简单设置: 只需几分钟即可安装 @capgo/capacitor-updater 包并配置您的应用。
  • 更新频道: 使用开发、测试和生产环境控制更新。
  • 手动和自动回滚: 根据您的需求选择手动或自动恢复。

快速设置步骤:

  1. 安装 @capgo/capacitor-updater and sync your project.
  2. Configure capacitor.config.json for updates.
  3. 设置更新频道(测试,beta,生产)
  4. 测试回滚功能在生产部署之前

Capgo 确保您的应用程序始终稳定和用户友好,立即解决问题。无论您是否喜欢手动控制或自动触发,Capgo 都提供了可靠的安全网来保护您的 Capacitor 应用程序

设置 Capgo 回滚管理

Capgo 实时更新控制台界面

为了有效地管理回滚,您需要安装Capgo的核心包,配置应用程序的设置,并设置更新通道。这确保了顺利的部署和可靠的安全网来处理问题。

安装和配置Capgo

首先添加 @capgo/capacitor-updater 包到您的 Capacitor项目。该包管理应用程序的更新和回滚。运行以下命令在您的项目目录中:

npm install @capgo/capacitor-updater
npx cap sync

安装后,更新 capacitor.config.json 文件以启用更新功能。以下是示例配置:

{
  "plugins": {
    "CapacitorUpdater": {
      "autoUpdate": true,
      "updateUrl": "https://api.capgo.app/updates",
      "privateKey": "your-private-key-here",
      "version": "1.0.0",
      "directUpdate": false
    }
  }
}
  • 设置 autoUpdatetrue 允许自动更新。
  • Set directUpdate As __CAPGO_KEEP_0__ false 确保更新在部署前进行验证。

下一步,请将您的应用程序链接到Capgo的更新系统中。注册地址在 capgo.app,然后使用CLI注册您的应用程序。

npx @capgo/cli app add your-app-id

此步骤将您的项目连接到Capgo,开启版本跟踪和用户分段功能,实现精确的回滚管理。

完成初始设置后,您可以配置更新通道来控制和监控部署。

设置更新通道

更新通道有助于管理更新的分发,允许进行彻底的测试和快速回滚。

要创建通道,请使用Capgo的CLI工具。首先设置三个关键通道以实现高效的回滚管理:

npx @capgo/cli channel add staging
npx @capgo/cli channel add beta  
npx @capgo/cli channel add production

每个通道都有特定的用途:

设置 目的 __CAPGO_KEEP_0__
__CAPGO_KEEP_0__ 识别更新流 生产, 测试, 预发布
版本模式 定义允许的版本格式 1.0.*
用户访问 指定哪些用户接收更新 __CAPGO_KEEP_0__
更新频率 确定更新的分发时间 立即、定时

生产环境中使用稳定版本模式,如 1.0.*而开发环境可以使用更灵活的格式进行测试。

为了进一步优化回滚管理,设置用户分段。这样可以在回滚时针对特定用户组进行操作,减少干扰同时有效地解决问题。

通过定义基于错误率、性能指标或用户反馈的触发条件来自动回滚。这些触发条件确保问题能够及时解决,而无需人工干预。

在部署到生产环境之前,在开发环境中测试回滚功能。这一步确保回滚系统在真实环境中正常工作。

最后,将更新通道与CI/CD管道 集成。这一自动化流程简化了部署和回滚,保持了高效的工作流,同时也为未知问题提供了安全保障。如何执行回滚

Capgo

Capgo的更新验证系统确保应用程序保持稳定,而回滚功能则在此基础上提供了手动和自动恢复选项。了解如何有效地使用这些方法可以帮助您快速恢复功能,当出现问题时。

手动回滚步骤

手动回滚让您能够选择并应用稳定的版本,允许您在采取行动之前评估情况。

首先,在您的 capacitor.config.json 文件中设置 autoUpdatefalse。这会停止Capgo自动管理更新,给您对整个过程的完全控制权。

一旦自动更新被禁用,使用 CapacitorUpdater.download() 方法来获取所需的版本并 CapacitorUpdater.set() 来应用它。以下是一个示例:

import { CapacitorUpdater } from '@capgo/capacitor-updater'

const version = await CapacitorUpdater.download({
  url: 'https://github.com/Cap-go/demo-app/releases/download/0.0.4/dist.zip',
})
await CapacitorUpdater.set(version); // Sets the new version and reloads the app

使用 CapacitorUpdater.set()下载的版本后,应用程序将自动重新加载并恢复捆绑包。为了最终完成回滚过程,请始终调用 CapacitorUpdater.notifyAppReady() 来确认更新是稳定的。

“Failing to call this method will cause your application to be rolled back to the previously successful version (or built-in bundle)” [2]

If this confirmation step is skipped, Capgo assumes the rollback was unsuccessful and could initiate another rollback to the last known working version.

For situations requiring quicker action, automated rollbacks can handle recovery without manual involvement.

自动回滚触发器

自动回滚适用于监控频繁的环境。它们通过检测问题并自动切换到稳定版本来最小化停机时间。这些触发器基于健康检查和预定义的错误阈值。

设置健康检查来监控应用程序的关键功能,例如用户身份验证或数据加载。当这些检查检测到问题时,自动触发器可以立即回滚到稳定版本。

使用性能指标定义错误阈值,以确定是否需要回滚。以下表格突出了需要考虑的关键组件:

组件 目的 实施提示
版本控制 跟踪部署历史 监控进度和结果
错误阈值 定义回滚触发器 使用特定指标自动回滚
响应协议 恢复步骤 设置即时问题处理的工作流

根据应用程序环境和风险承受能力选择手动或自动回滚

“A rollback is redeploying a prior version of the code. It is the 在生产环境中,稳定性和安全性至关重要,手动回滚允许仔细评估和控制。另一方面,测试和阶段环境可能更适合自动回滚的速度和效率。结合两种方法确保平衡策略——自动触发器处理即时故障,而手动回滚则保留用于复杂问题,需要人工监督的场景 回滚管理最佳实践 [3]

定义回滚触发器

使用特定指标自动回滚

An effective rollback strategy shields users from unstable updates by combining gradual deployments with detailed post-rollback analysis.

Staged Rollouts and Risk Reduction

Staged rollouts act as a safeguard against widespread issues in app updates. Instead of pushing changes to everyone at once, updates are released incrementally to smaller user groups. Start with a test group representing 1–5% of your users. Make sure this group includes a diverse mix of device types, operating systems, and usage behaviors. Monitor their performance for 24–48 hours to catch any early signs of trouble.

Feature flags can be a lifesaver here. They allow you to disable specific features instantly without needing a full rollback [4].

Set clear criteria for moving through rollout stages. For instance, you might base decisions on metrics like device-hours of stable operation or crash thresholds. A good rule of thumb is to aim for at least 1,000 device-hours of stability before expanding the rollout. Tools like Capgo’s update channels make this process easier by letting you assign updates to specific user groups, such as beta testers or early adopters, ensuring precise control over who gets updates and when.

Here’s an example of how a staged rollout might look:

Rollout Stage User Percentage Monitoring Duration Success Criteria
Initial Test 1–5% 24–48 hours Less than 0.1% crash rate and normal performance
早期采用者 10–20% 48–72 小时 稳定性能和积极的用户反馈
一般发布 100% 持续 无关键问题和持续性能

一旦回滚稳定,转移注意力到回滚后的监控,以确保一切顺利。

回滚后监控和诊断

完成回滚后,进行彻底的监控至关重要,以确认其成功并防止未来问题的发生。

设置实时警报并跟踪关键性能指标,如崩溃率、应用启动时间、内存使用和网络性能。这些指标对于评估稳定性和用户体验至关重要。在生产环境中,目标是达到99.9%的基准稳定性,并确保您立即收到性能低于此水平的警报。

持续监控至少72小时以确认应用已恢复到稳定状态。重点关注直接影响用户的指标,如应用启动速度或特性响应速度。

使用错误跟踪工具,配备明确的升级流程。自动化报告,总结回滚事件,包括原因、受影响用户和解决时间,可以帮助您的团队从每个事件中学习。详细记录这些事件,包括触发器、解决步骤和所学经验,对于改进流程和培训团队至关重要。

渐进式监控方法也可以有效。立即在回滚后进行密集的观察,然后随着稳定性的确认逐渐减少。这一方法确保了平衡了详细的监督和资源使用效率的平衡。

排查回滚问题

回滚可能会遇到一些问题,打断用户体验。了解如何快速识别并解决这些问题是保持一切顺利运作的关键。

修复失败的校验和验证

校验和验证失败是您可能在回滚过程中遇到的更严重问题之一。这一问题表明更新文件在传输或存储过程中被损坏或篡改。要解决这个问题:

  • 检查您的源文件和回滚包的完整性。
  • 如果需要,请从您的版本控制系统重新下载或重新生成包。

Capgo的端到端加密帮助保护文件在传输过程中,但在本地存储中仍然可能出现问题。如果多个用户受到影响,请清除他们的本地缓存以删除受损的临时文件。您可以通过Capgo的更新频道来自动化此过程,通过推送一个小的配置更新来强制下载最新版本。

另外,考虑到下载验证时的网络问题。一旦校验和问题得到解决,就可以转移到潜在的版本冲突和网络挑战上。

处理版本冲突和网络问题

版本冲突发生在应用程序的不同部分没有正确同步时。如果发生这种情况,请立即回滚到最后一个稳定版本以最小化中断。使用Capgo的更新频道,可以将回滚限制在特定用户组中进行测试,然后在更广泛的范围内推出。

详细的日志记录对于诊断这些冲突至关重要。查找错误,如API版本不匹配或数据库架构问题,以确定问题是否出在后端更改、客户端更新或两者中。

另一方面,网络问题可能会阻止回滚尝试。像连接超时、SSL证书错误或代理配置错误这样的问题是常见的罪魁祸首。要解决这些问题:

  • 确保所有更新端点、证书和版本标识符都是最新的。
  • 在用户遇到问题的同一环境中测试您的网络连接。

In企业环境中,代理和防火墙规则可能会干扰更新。与企业客户合作,白名单Capgo的更新端点并确认安全策略 不阻止回滚过程。 测试场景

实现方法 成功标准 版本不匹配
部署不兼容的包版本 回滚自动激活 损坏的包
上传损坏的更新 检测错误并恢复系统 测试场景
网络故障 模拟网络故障 从最后一个稳定版本恢复
API 超时 在 API 响应中引入延迟 使用fallback机制处理延迟

定期测试版本不匹配、损坏的捆绑包、网络故障和 API 超时等场景,确保回滚机制在真实世界挑战面前准备就绪。这一主动方法在生产环境出现问题时会增强信心。

结论

拥有可靠的回滚策略对于维持应用的稳定至关重要 Capacitor 应用Capgo 提供了使此过程顺畅的工具 高效的更新管理 为了确保您的应用程序始终可靠和安全,__CAPGO_KEEP_0__ 采用了强大的安全措施。

Capgo 的独特功能是其 一键回滚功能,可以快速回滚到之前的版本,如果出现问题。这样可以最小化停机时间,并尽量减少对用户的干扰。除此之外,平台还确保遵守苹果和谷歌的要求,同时使用 端到端加密 来保护生产环境中的应用程序。

“Capgo 是开发者必备工具,提高开发效率。避免bug修复的审查是黄金。” - Bessie Cooper [1]

这些功能简化了工作流程,并在出现挑战时提供了即时解决方案。通过CI/CD和语义发布自动化,Capgo 简化了回滚过程。无论您面临的是校验和验证错误、版本不匹配还是网络故障,Capgo 的基础设施和监控工具都可以帮助您解决问题,避免问题传递给用户。

对于管理Capacitor应用程序的生产团队,Capgo 提供了安全性、可靠性和简单性所需的rollback策略。有超过2,000个应用程序已经信赖该平台,您选择的解决方案可以提高开发效率和用户满意度 [1].

当出现问题时,Capgo 确保您可以立即解决问题。

常见问题

::: faq

Capgo 保证应用程序更新在回滚期间保持安全吗?

Capgo 使用 端到端加密 来保护应用程序更新的每个阶段,从创建到交付。 这确保了更新保持安全,仅限授权用户通过严格的访问控制访问。

为了保证更新的完整性,Capgo 使用 加密检查 如散列和数字签名。这些工具确认更新未被篡改。如果出现任何问题,平台的自动回滚功能可以让您快速和安全地回滚到较早的版本。这些功能一起确保您的应用程序更新既安全又可靠。 :::

::: faq

使用 Capgo 的自动回滚功能相比手动回滚有什么好处?

__CAPGO_KEEP_0__ 的自动回滚功能提供了一个更快、更可靠、错误更少的替代方案,相比于手动回滚。 当更新后出现问题时,这些回滚可以快速将应用程序恢复到稳定的版本,减少停机时间并保持用户体验的流畅性。 Capgo 的自动回滚功能比手动回滚更快、更可靠、错误更少。 当更新后出现问题时,这些回滚可以快速将应用程序恢复到稳定的版本,减少停机时间并保持用户体验的流畅性。 __CAPGO_KEEP_0__ 的自动回滚功能提供了一个更快、更可靠、错误更少的替代方案,相比于手动回滚。 当更新后出现问题时,这些回滚可以快速将应用程序恢复到稳定的版本,减少停机时间并保持用户体验的流畅性。

What sets automation apart is its ability to remove human error from the equation. By sticking to predefined best practices, it ensures consistency every time. This not only saves valuable time but also fosters a more stable and efficient way to manage your app. For developers working with Capacitor apps, automated rollbacks provide a stress-free, dependable way to handle updates. :::

::: faq

How can I test rollback functionality with Capgo before releasing updates to production?

要在发布更新到生产环境之前测试Capgo的回滚功能,需要如何? To effectively test rollback functionality with __CAPGO_KEEP_0__, begin by setting up a测试环境 . This allows you to test updates in a controlled setting before they go live. Involve 内部测试人员 to catch potential issues early, and ensure you have 实时监控 to track performance and detect errors quickly. It’s also important to define clear回滚触发器

在发布任何更新之前,务必彻底测试回滚过程。确保它可以顺利返回到之前的稳定版本,而不会引起额外的问题。模拟失败场景也是验证回滚机制是否正常工作的好方法。最后,利用Capgo的 分析工具 来监控更新性能和用户参与度。这些洞察力可以指导您在什么时候回滚可能是必要的做出明智的决定。 :::

继续使用Capgo:《回滚管理指南》

如果您正在使用 Capgo:《回滚管理指南》 来规划回滚和版本控制,连接它与 回滚 来获取回滚的实现细节, 版本目标 来获取版本目标的实现细节, 更新行为 关于在 Update Behavior 中的实现细节 打包 关于在打包中实现细节,并 Capgo 实时更新 关于在 Capgo 实时更新中的产品工作流程

Capacitor应用的实时更新

当有一个web层bug在live状态时,通过Capgo将修复直接部署,而不是等待几天的应用商店审批。用户在后台接收更新,而原生变化仍然在正常的审批路径中。

立即开始

博客最新文章

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