返回

如何利用 GitHub 自动发布 Electron 应用

前端

使用 GitHub 实现 Electron 应用程序自动化打包和发布

构建 Electron 应用程序

Electron 应用程序构建过程涉及将应用程序源代码、资源文件和依赖项打包成独立的可执行文件。使用 Electron Packager 可以轻松实现此过程。

使用 Electron Packager 打包应用程序

npm install electron-packager -g
electron-packager . <app-name> --platform=<platform> --arch=<arch>
  • .: 应用程序根目录
  • <app-name>: 应用程序名称
  • <platform>: 应用程序平台(例如,win32、darwin、linux)
  • <arch>: 应用程序体系结构(例如,x64、ia32)

使用 GitHub Actions 自动化发布

GitHub Actions 是用于自动执行任务的平台,可简化应用程序发布。创建 GitHub Actions 工作流定义一系列任务,在每次推送到指定分支时触发。

创建 GitHub Actions 工作流

在仓库的 .github/workflows 目录中创建 main.yml 文件,包含以下内容:

name: Release

on:
  push:
    branches:
      - main

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '16'
      - run: npm install
      - run: npm run build
      - uses: actions/upload-artifact@v2
        with:
          name: release-artifact
          path: out/
      - uses: softprops/action-gh-release@v1
        with:
          files: release-artifact/*.zip

工作流说明

  • checkout: 签出仓库代码。
  • setup-node: 设置 Node.js 环境。
  • npm install: 安装依赖项。
  • npm run build: 构建应用程序。
  • upload-artifact: 将构建的应用程序上传到工件。
  • action-gh-release: 创建 GitHub 发布并上传应用程序。

总结

使用 Electron Packager 打包应用程序并通过 GitHub Actions 自动化发布,简化了 Electron 应用程序的构建和分发过程。通过自动化打包和发布任务,可以节省大量时间和精力,同时确保发布过程的一致性和准确性。

常见问题解答

1. 如何指定特定平台和体系结构?

electron-packager 命令中使用 --platform--arch 选项,例如 --platform=win32 --arch=x64

2. 如何更新 GitHub 发布?

每次推送到 main 分支时,GitHub Actions 会自动创建新的发布。

3. 如何处理应用程序更新?

可以配置 GitHub Actions 工作流,在发布新版本时更新现有发布。

4. 如何发布预发布版本?

action-gh-release 操作中使用 prerelease: true 选项。

5. 如何上传其他文件到 GitHub 发布?

action-gh-release 操作的 files 输入中添加其他文件路径,例如 files: release-artifact/*.zip README.md