电子如何创建增量文件

时间:2016-06-14 02:59:36

标签: electron

我使用electron-builder构建我的应用程序并成功构建包含三个输出的第一个版本:foosetup.exe,foo-0.0.1-full.nupkg和RELEASES.Now我想实现自动更新,我使用electron-release-server部署了后端服务。

自动更新需要设置feedURL,用于获取更新,但问题是我不知道更新的确切含义是什么?是foo-0.0.1-full.nupkg还是foo-0.0.1-delta.nupkg或其他文件?

第二个问题是我不知道如何创建增量文件。我可以在remoteReleases中找到electron-builder的选项a URL to your existing updates.If given,these will be downloaded to create delta file。但是&# 39; URL的确切含义是什么?我找到了"remoteRelease": "https://github.com/user/repo"的示例i,它创建了一些版本,并为每个版本上传了许多额外的文件,例如foosetup.exefoo-xx-full-nupkg,{{1我想RELEASES会获取electron-builder下载文件,然后将两个文件区分开以创建增量文件,但我在创建发布时无法上传${remoteReleases/release/download/some-version/xxx} github,报告RELEASES。 是否有人可以提供帮助?还有很少的文档要关注一个初学者

1 个答案:

答案 0 :(得分:2)

对于电子发布服务器,请查看the docs

如果您使用电子修建器,将自动创建增量文件。但为了使其正常工作remoteReleases必须设置为有效(且可访问)的网址,必须至少有一个名为RELEASES的空文件。因此,对于第一个构建,只需创建一个空文件并将其命名为RELEASES

在将来的每次构建中,都会为您创建一个RELEASES文件。将所有生成的文件丢弃在您的发布服务器中(覆盖现有的RELEASES),这样就可以了。

注意:对于electron-release-server,您不需要RELEASES生成的electron-builder。电子释放服务器将自己创建一个。

要开始使用自动更新,我建议您在本地设置一个简单的发布服务器。 I. e。:

  • 创建一个目录并在其中抛出一个空文件RELEASES
  • 然后启动一个指向该目录的简单网络服务器(例如cd into/your/dir && php -S 0.0.0.0:80)。
  • 修改您的package.json"remoteRelease": "http://localhost"
  • 然后构建您的安装程序:npm run dist 它应该成功构建,您应该在本地服务器上看到一些GET请求。
  • 获取生成的文件并将其填充到您创建的目录中。
  • 现在增加您的版本并开始另一个版本:npm run dist 您应该再次看到一些GET请求,并且应该创建一个额外的delta文件。
  • 再将所有这些东西填入目录(或者电子释放服务器将资产.nupkg,.exe和delta上传到新版本中)。

希望有所帮助。如果不清楚,请随意发表评论。