带有私有GitHub存储库的Electron Autoupdater?

时间:2019-07-17 05:45:17

标签: electron electron-builder e electron-updater

我已经使用PRIVATE GitHub Repository实现了Electron AutoUpdater作为提供者来发布电子应用程序。现在,我可以使用GitHub存储库发布它,但是每当AutoUpdater尝试从GitHub存储库下载更新时,每次它提示时都显示响应代码404 Not found.。我尝试在setFeedURL方法中传递令牌,并在GH_TOKEN中进行设置,但看起来像这样也不起作用。

autoUpdater.setFeedURL({ provider: 'github'
, owner: 'owner'
, repo: 'repo-name'
, token: 'token'
, private: true });

那么,有什么方法可以使其与PRIVATE GitHub Repository一起使用?

3 个答案:

答案 0 :(得分:1)

您是否正在使用电子auto-updater模块?从API documentation中可以看到它们不支持。

另一方面,如果您使用的是electron-updater模块,请确保遵循recommended release workflow,并且不应该使用setFeedURL检查注释here

已更新:

如果您使用的是electron-updater,并且要发布到私有存储库,则需要确保您的令牌在app-update.yml文件中可用,这就是为什么很多人说不建议使用该令牌的原因,如果未在app-update.yml文件中设置令牌,则会得到404。

要让electron-updater自动将令牌添加到app-update.yml文件中,应在发布部分中设置令牌,如下所示:

  "publish": [
    {
      "provider": "github",
      "private": true,
      "owner": "<github_owner>",
      "repo": "<repo_name>",
      "token": "<your github token>"
    }
  ],

这将产生一个app-update.yml文件,如下所示:

owner: <github_owner>
repo: <repo_name>
provider: github
private: true
token: <your github token>
updaterCacheDirName: electron-updater-private-updater

选中此small video

这是我的代码https://github.com/linuxjuggler/electron-auto-update-example,检查electron-builder.json文件。

答案 1 :(得分:1)

Auto-Update-您可以看到私有github仓库仅在非常特殊的情况下有效,并且他们建议使用单独的仅发布库来分发发布,以便将源锁定,并且可以将其分发给受控对象。机器。这是一个有用的功能,因为不需要服务器,但需要特殊的用例。另外,您可以将其与s3存储桶或其他一些升级服务器配合使用。

答案 2 :(得分:0)

我发现这个 AutoUpdater Git Repo 非常有帮助,我的代码现在正在运行。我需要做的唯一更改是在 github yml 设置中,添加来自 github 的 token=<PersonalAccessToken>

您可以从 Github > Settings > Developer Settings > Personal access tokens > Generate New Token

获取 Github 个人令牌