跳到内容

使用通道发布 / 通过通道自动更新

描述

通道对于将应用程序的 “beta” 或 “alpha” 版本分发给选定的一组用户非常有用。这允许在作为 “latest”(稳定版)发布之前测试应用程序。

接收 “beta” 版本的用户也将获得 “latest” 版本。 否则,不想要 “beta” 的用户将只会获得 “latest” 版本。

有三个通道,按稳定性排序

  1. “latest”,您的应用程序是稳定的,这是默认通道(例如:1.3.2),
  2. “beta” 表示您的应用程序可以工作,但应该有一些错误(例如:1.3.2-beta
  3. “alpha” 表示您的应用程序不稳定,并且正在积极开发中(例如:1.3.2-alpha

配置

要使用通道发布,您应该配置 electron-builder 并定义客户端要使用的通道。

Electron-Builder

默认情况下(不使用通道),所有应用程序发布都使用 “latest” 通道。

如果要使用通道,则应将其添加到 package.json 中

"version": "x.x.x-beta",
...
"build": {
  "generateUpdatesFilesForAllChannels": true,
  ...
}

注意

generateUpdatesFilesForAllChannels = true 时,allowDowngrade 会自动设置为 true,因此您无需设置它。

要使用通道发布,您只需在 package.json 的版本标签中定义通道即可。 添加 “-beta” 或 “-alpha”(“latest” 则不添加任何内容)即可自动为相关通道构建。

警告

即使 detectUpdateChannel 为 true,Github 发布也不遵循版本标签中的版本。 您必须显式设置 channel 以匹配预期的发布通道。

您的应用程序

您需要在此处做的就是定义用户将接收哪个通道

autoUpdater.channel = "beta"(请参阅 此处的文档

以下版本将根据定义的通道分发给用户

  • latest 或不填:用户将只获得 “latest” 版本
  • beta:用户将获得 “beta” 和 “latest” 版本
  • alpha:用户将获得 “alpha”、“beta” 和 “latest” 版本

如何使用它

假设您的应用程序是稳定的,并且版本为 1.0.1。

如果您想为新的 1.1.0 版本发布 beta 版,您只需要使用 1.1.0-beta 更新 package.json version

当您的应用程序足够稳定时,您希望将其发布给所有用户。 为此,您只需要从 package.json version 标签中删除 -beta 标签。