gpt4 book ai didi

electron - 如何使用 Electron/Electron 构建器创建释放 channel ?

转载 作者:行者123 更新时间:2023-12-02 18:57:50 28 4
gpt4 key购买 nike

我有一个Electron我想在其中引入并行发布 channel 的应用程序:stablenext(用于早期采用者)和dev(用于测试最新版本)。

这些都会有一个分支,新功能首先出现在 dev 中,然后进入 next 进行 Beta 测试,最后进入 stable .

我正在使用electron-builder为了制作这些发布包,我希望每个发布包都有自己的自动更新 - 因此,当我发布新的 next 版本时,所有使用它的用户都会获得更新。

我希望应用程序是独立的 - 用户可以安装两个 channel 并同时运行两个 channel 。它们将有不同的名称和不同的图标。

我可以在分支中手动设置这些,但实际上我想尽可能自动化 - 从 next 分支发布应该使用正确的名称、图标、ID 和更新程序,而无需存在进入错误 channel 的风险。

有没有办法用 Electron 或 Electron 构建器来做到这一点?

最佳答案

使用 Electron 构建器可以实现这一点。我会有几个构建配置,并告诉 electron-builder 在构建时使用哪个配置。

例如,使用以下设置创建文件 config/beta.json:

{
"appId": "com.company.beta",
"productName": "App Beta",
"directories": {
"buildResources": "build/beta" // directory containing your build-specific assets (e.g., beta icons - icon.icns, icon.ico & background.png)
},
"mac": {
"category": "public.app-category.finance"
},
"win": {
"target": [
"nsis"
]
},
"nsis": {
"perMachine": false
},
"publish": [
{
"provider": "s3",
"bucket": "com-app-beta" // dedicated S3 bucket for each build
}
],
}

并为 next.jsoncurrent.json 复制 config/beta.json (确保相应地编辑设置)。

package.json中,添加以下构建脚本(注意--em.name=app-beta以覆盖package.json的“名称”值):

{
"scripts": {
"build": "build -owl --x64 --config ./config/current.json -p always --em.name=app",
"build-beta": "build -owl --x64 --config ./config/beta.json -p always --em.name=app-beta",
"build-next": "build -owl --x64 --config ./config/next.json -p always --em.name=app-next"
}
}

准备部署时运行构建脚本:

npm run build-beta

关于electron - 如何使用 Electron/Electron 构建器创建释放 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40783904/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com