更容易地为开源应用程序提供自动更新
今天,我们发布了一个免费的、开源的托管更新 web服务 和配套的 npm 包,以便为开源 Electron 应用程序启用便捷的自动更新。 这使得应用程序开发人员能够花更少的时间考虑部署,而多去为用户提供高质量的体验。
让生活更轻松
Electron有一个autoUpdater API,让应用程序能够从远程终端获取元数据以检查更新,可以在后台下载并且自动安装。
启用这些更新对许多Electron应用开发者来说是部署过程中一个繁琐的步骤,因为它需要部署一个 web 服务器并且这只是为了提供应用版本历史元数据。
今天我们公布了一个新的应用自动更新的解决方案。 如果你的Electron应用在公开的GitHub仓库中,并且你正在使用GitHub Releases发布构建版本,你可以使用这项服务向你的用户提供持续的应用更新。
使用新模块
为了减少配置,我们创建了update-electron-app,一个npm模块,它与新的 update.electronjs.org web服务集成在一起。
安装模块
npm install update-electron-app
在您的应用程序的 main进程中的任何地方调用:
require('update-electron-app')();
搞定! 该模块将在应用启动时检查更新,然后每10分钟检查一次。 当它发现有更新时,它将在后台自动下载,并在更新就绪时显示对话框。
迁移现有应用
已经使用Electron的autoUpdater API的应用程序也可以使用这项服务。 为此,你可以定制update-electron-app
模块,或者直接与update.electronjs.org集成。
可替代方案
如果你使用electron-builder来打包你的应用,你可以使用它内置的更新程序。 有关详细信息,请参见electronic.build/auto-update。
如果你的应用是私人的,你可能需要部署属于你自己的更新服务器。 有很多开源工具可以做到这一点,包括Zeit的Hazel和Atlassian的Nucleus。 有关更多信息,请参阅部署一个更新服务器教程。
谢谢!
感谢Julian Gruber帮助设计和构建这个简单且可扩展的web服务。 感谢Zeit的工作人员,他们提供了开源的Hazel服务,我们从中获得了设计灵感。 感谢Samuel Attard的代码评审。 感谢Electron社区帮助测试这项服务。
🌲 为 Electron 应用的美好未来干杯!