如何利用 GitHub 自动发布 Electron 应用
2023-07-31 14:42:31
使用 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
。