如何使用电子/电子构建器创建发布渠道?

Kei*_*ith 6 electron electron-builder

我有一个电子,我要介绍的并行释放通道的应用程序:stable,next(尝鲜)和dev(用于测试最新版本).

这些将分别具有一个分支,首先出现新功能dev,进行nextbeta测试并最终进入stable.

我正在使用电子构建器来制作这些发布包,我希望每个都有自己的自动更新 - 所以当我发布新next版本时,所有用户都会获得更新.

我希望应用程序是独立的 - 用户可以安装两个通道并同时运行.他们会有不同的名字和不同的图标.

我可以在分支机构中手动设置它们,但实际上我想尽可能地自动化它 - next分支机构的发布应该使用正确的名称,图标,ID和更新程序,而不会有进入错误通道的风险.

有没有办法用电子或电子助剂做到这一点?

Jon*_*Saw 7

有可能electron-builder.我会有几个构建配置,并告诉我在构建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
    }
  ],
}
Run Code Online (Sandbox Code Playgroud)

和重复config/beta.jsonnext.jsoncurrent.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"
    }
}
Run Code Online (Sandbox Code Playgroud)

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

npm run build-beta
Run Code Online (Sandbox Code Playgroud)