迁移总结
- Capgo Capgo是一个帮助开发团队将实时应用程序部署到已部署应用程序的服务。
- Capacitor JS apps written in jQuery Mobile, Framework 7, Sencha, KendoUI, Ionic or even your own custom solution can be migrated. 一个现有的Ionic应用程序并不是必须的。.
- Colt 提供了与App Center Build (构建Android/iOS应用程序)等价的服务,包括测试、诊断和分析服务。
注意
如果您的应用程序仍在使用Cordova,则需要 migrate to Capacitor first before migrating to Capgo.
由Ionic团队开发的Capacitor是Cordova的精神继承者,允许开发者将开发工作移近原生工具和功能,目标是提供更好的用户体验和性能。
幸运的是,迁移过程很容易,大多数Cordova插件与Capacitor兼容。 开始迁移.
关于Capgo
Capgo, handles updating apps over time. Development teams can focus completely on the unique features of their app and outsource the complicated app delivery process to Capgo.
Capgo 填补了 Web 交付和移动之间的空白。
Capgo 的前提条件
像 App Center 一样 Capgo 支持在 Azure DevOps、Bitbucket、GitHub 和 GitLab 上托管的应用程序。
安装 Capgo CLI
注意
在您的计算机上安装 Node 和 NPM,需要在继续之前 总是使用当前 LTS 版本 Capgo 不要使用旧版本。
创建 package.json 和 Capacitor 配置文件
注意
在开始之前,我建议在一个新的 Git Branch 上进行修改。
由于 Capgo 由于它是用来自动化 capacitor 应用程序的,它需要一个文件,而你的应用程序可能没有。首先,创建一个 capacitor.config.json 文件。创建它的最简单方法是在应用程序根目录中运行:
npm install @capacitor/core
然后,使用 CLI 问卷初始化 Capacitor:
npx cap init
CLI 将会问你一些问题,包括你的应用程序名称和你希望使用的应用程序包 ID。
最后,将新文件提交到你的项目中:
git add .git commit -m "added package json and capacitor config" && git push
迁移 Code
现在你已经有了新的必需的 Capgo 文件已经准备好,接下来可以转向实际应用本身。 Capgo 整个构建好的应用程序应该位于一个名为 dist.
如果您的构建好的code不在一个 dist 目录中,请在Capacitor配置文件中修改此值。
以下是应用程序目录结构的示例:

Capgo配置
您的应用程序已经准备好进行 Capgo 集成后,接下来是注册并获取API密钥以上传您的第一个版本!首先 注册一个Capgo账户.
登录后,您可以在Capgo中,进入账户页面,点击API键,然后点击‘write’键将其复制到剪贴板。
安装Capgo的SDK。
在命令行中,直接在您的Capacitor应用根目录下,运行以下命令:
npm i @capgo/capacitor-updater && npx cap sync
将插件安装到您的Capacitor应用中。
然后将code添加到您的应用中,代替CodePush:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()
这将告诉原生插件安装成功。
实时更新(CodePush替代品)
实时更新功能通过使用已安装的__CAPGO_KEEP_0__ __CAPGO_KEEP_1__ Capgo SDK 登录到__CAPGO_KEEP_0__ CLOUD
Login to Capgo CLOUD
__CAPGO_KEEP_0__ all apikey 在您的帐户中可用于使用CLI登录:
npx @capgo/cli@latest login YOURKEY
添加您的第一个应用
让我们从创建应用程序开始Capgo Cloud中使用CLI。
npx @capgo/cli@latest app add
此命令将使用Capacitor配置文件中定义的所有变量来创建应用程序。
上传您的第一个捆绑包
运行命令以构建您的code并将其发送到Capgo:
npx @capgo/cli@latest bundle upload --channel production
默认情况下,版本名称将是您的 package.json 文件中的一个。
检查入 Capgo 如果构建存在。
您甚至可以使用我的 测试移动沙盒应用.
设置默认频道
您已经将应用程序发送到Capgo,需要将您的频道设置为让应用程序从Capgo接收更新 default to let apps receive updates from Capgo.
npx @capgo/cli@latest channel set production -s default
将此配置添加到您的主JavaScript文件
然后执行
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()
更新您的应用程序 npm run build && npx cap copy 在设备上接收实时更新
为了让您的应用程序从Deploy接收实时更新,您需要在设备或模拟器上运行应用程序。最简单的方法是使用以下命令启动您的本地应用程序在模拟器或连接到计算机的设备上
打开应用程序,放到后台并再次打开,应该在日志中看到应用程序已经更新
npx cap run [ios | android]
在设备上打开应用程序,放到后台并再次打开,应该在日志中看到应用程序已经更新
恭喜! 🎉 您已成功部署您的第一个实时更新。这只是您可以使用实时更新的开始。要了解更多信息,请查看完整的 实时更新文档.
移除 App Center 依赖项
现在我们已经集成了 Capgo 的服务,您应该移除任何 App Center 的引用。除了移除未使用的 code/服务是最佳实践外,移除 SDK 还可以减少应用程序的大小。
首先,打开终端,然后卸载 App Center 插件:
cordova plugin remove cordova-plugin-appcenter-analytics cordova-plugin-appcenter-crashes cordova-plugin-code-push
接下来,打开 config.xml 并移除以下 preference 值。它们将类似于:
<preference name="APP_SECRET" value="0000-0000-0000-0000-000000000000" /><preference name="CodePushDeploymentKey" value="YOUR-ANDROID-DEPLOYMENT-KEY" /><preference name="CodePushPublicKey" value="YOUR-PUBLIC-KEY" />
如果您在应用程序中使用 App Center 分析,则移除以下 preferences 元素: APPCENTER_ANALYTICS_ENABLE_IN_JS 并 APPCENTER_CRASHES_ALWAYS_SEND.
移除以下 <access /> 元素:
<access origin="https://codepush.appcenter.ms" /><access origin="https://codepush.blob.core.windows.net" /><access origin="https://codepushupdates.azureedge.net" />
移除 CSP 标签中的 CodePush 引用 meta 文件( index.html 最后,在您的应用程序中,移除任何 __CAPGO_KEEP_0__ App Center 服务的引用,例如https://codepush.appcenter.ms):
<meta http-equiv="Content-Security-Policy" content="default-src https://codepush.appcenter.ms 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *" />
Finally, within your app, remove any code references to App Center services, such as codePush.sync();.
您已经从 App Center 迁移到 __CAPGO_KEEP_0__,并利用了实时更新。这只是您可以使用 __CAPGO_KEEP_1__ 的开始。探索服务的其他功能,包括 Channel(多个环境)和覆盖。Cloud __CAPGO_KEEP_2__ 集成,使用 __CAPGO_KEEP_3__ 在您的 CI/CD 平台(例如 __CAPGO_KEEP_4__ 动作,GitLab,Jenkins 等)中。
You’ve migrated from App Center to Capgo, utilizing the Live Updates. This is just the beginning of what you can use Capgo for. Explore the rest of the service includes Channel (multiple environments) and override. Cloud CLI integration, use Capgo inside your CI/CD platform of choice (such as GitHub Action, GitLab, Jenkins, and more).
如果您的 __CAPGO_KEEP_0__ 位于 __CAPGO_KEEP_1__ 上,您可以在几步之内设置自动构建和发布,感谢 __CAPGO_KEEP_2__ 动作。
If your code is hosted on GitHub, you can set up automatic build and release in a few more steps, thanks to GitHub actions.
致谢
感谢
Thanks a lot to ionic, 本文基于 本文 使用chat-gpt-3重写并适配。
Keep going from Migrating from App Center to Capgo
如果您正在使用 Migrating from App Center to Capgo 规划迁移和企业运营,连接它与 Capgo Enterprise for the product workflow in Capgo Enterprise, 用于 ionic Capgo Alternatives 为Capgo Alternatives产品工作流程 Capgo 咨询 为Capgo 咨询产品工作流程,并 Capgo Premium Support 为Capgo Premium Support产品工作流程。