2016-06-14 67 views
2

我使用electron-builder構建我的應用程序,併成功構建包含三個輸出的第一個版本:foosetup.exe,foo-0.0.1-full.nupkg和RELEASES.Now我想實現自動更新,我已經通過使用electron-release-server部署了後端服務。電子如何創建增量文件

自動更新需要設置一個​​這將用於獲取更新,但問題是我不知道更新究竟意味着什麼?是foo-0.0.1-full.nupkg還是foo-0.0.1-delta.nupkg或其他文件?

第二個問題是,我不知道如何創建增量file.I能夠找到一個選項remoteReleaseselectron-builder這是a URL to your existing updates.If given,these will be downloaded to create delta file。但什麼是URL究竟意味着什麼?我找到一個例子,我這​​"remoteRelease": "https://github.com/user/repo",和它會創建一些版本,併爲每個版本上傳許多額外文件,例如foosetup.exe,foo-xx-full-nupkg,RELEASES。我猜electron-builder將獲取${remoteReleases/release/download/some-version/xxx}下載文件,然後比較兩個文件以創建增量文件,但是當我I時無法上傳RELEASES在github上創建發佈,它報告they don't support this file type。 是否有任何人能幫助嗎?有是到幾文檔遵循的beginer

+0

我幾乎在同一條船上。 'remoteReleases'應該指向哪裏似乎沒有文檔。根?在'發佈'? ... – m02ph3u5

回答

2

對於電子發佈服務器請看一看the docs

如果您使用電子製造商,將會自動創建增量文件。但爲了使這項工作remoteReleases必須設置爲一個有效的(和可及的)URL 必須至少有一個空文件,稱爲RELEASES。因此,對於第一個版本,只需創建一個空文件並將其命名爲RELEASES

在每一個未來的版本會有一個爲您創建的RELEASES文件。把所有生成的文件扔到你的發行版服務器上(覆蓋現有的RELEASES),它會沒事的。

注意:對於electron-release-server你不需要通過electron-builder產生的RELEASES。電子發佈服務器將自行創建一個。


要開始使用自動更新,我建議您在本地設置一個簡單的發佈服務器。 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請求,並且應該創建一個附加增量文件。
  • 再次將所有這些東西填入目錄(或用於電子發佈服務器將資產.nupkg,.exe和delta添加到新版本中)。

希望有幫助。如果有不明之處,請隨時發表評論。