为开源应用提供更便捷的自动更新
今天,我们发布了一个免费的、开源的、托管的更新 Web 服务和配套的npm 包,以便为开源 Electron 应用启用简单的自动更新。这是朝着使应用开发者减少对部署的考虑,而更多地考虑为其用户开发高质量体验迈出的一步。
让生活更轻松
Electron 有一个 autoUpdater API,使应用能够使用来自远程端点的元数据来检查更新、在后台下载更新并自动安装。
启用这些更新一直是许多 Electron 应用开发者部署过程中繁琐的步骤,因为它需要部署和维护一个 Web 服务器,仅仅是为了提供应用版本历史元数据。
今天,我们宣布了一种新的即插即用自动应用更新解决方案。如果您的 Electron 应用位于公共 GitHub 仓库中,并且您使用 GitHub Releases 发布构建版本,则可以使用此服务向您的用户提供持续的应用更新。
使用新模块
为了尽量减少您的配置,我们创建了 update-electron-app,一个与新的 update.electronjs.org Web 服务集成的 npm 模块。
安装模块
npm install update-electron-app
从应用主进程中的任何位置调用它
require('update-electron-app')();
就是这样!该模块将在应用启动时检查更新,然后每十分钟检查一次。当找到更新时,它将在后台自动下载,并在更新准备就绪时显示一个对话框。
迁移现有应用
已经在使用 Electron autoUpdater API 的应用也可以使用此服务。为此,您可以自定义 update-electron-app
模块或直接与 update.electronjs.org 集成。
替代方案
如果您正在使用 electron-builder 打包您的应用,则可以使用其内置的更新程序。有关详细信息,请参阅 electron.build/auto-update。
如果您的应用是私有的,您可能需要运行自己的更新服务器。有许多开源工具可以实现这一点,包括 Zeit 的 Hazel 和 Atlassian 的 Nucleus。有关更多信息,请参阅部署更新服务器教程。
致谢
感谢 Julian Gruber 帮助设计和构建这个简单且可扩展的 Web 服务。感谢 Zeit 的人员提供的开源 Hazel 服务,我们从中汲取了设计灵感。感谢 Samuel Attard 的代码审查。感谢 Electron 社区帮助测试此服务。
🌲 祝愿 Electron 应用拥有常青的未来!