使用通道发布 / 通过通道自动更新¶
描述¶
通道对于将应用程序的 “beta” 或 “alpha” 版本分发给选定的一组用户非常有用。这允许在作为 “latest”(稳定版)发布之前测试应用程序。
接收 “beta” 版本的用户也将获得 “latest” 版本。 否则,不想要 “beta” 的用户将只会获得 “latest” 版本。
有三个通道,按稳定性排序
- “latest”,您的应用程序是稳定的,这是默认通道(例如:
1.3.2
), - “beta” 表示您的应用程序可以工作,但应该有一些错误(例如:
1.3.2-beta
) - “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
标签。