返回

自动化 Electron:无缝打包、发布和更新!

前端

厌倦了手动打包和发布 Electron 应用程序的繁琐过程了吗?Github Actions 来了!本教程将带您一步一步地了解如何利用 Github Actions 自动化 Electron 的整个生命周期,从构建到发布和更新。

Electron 简介

Electron 是一个跨平台的应用程序框架,允许您使用 HTML、CSS 和 JavaScript 构建原生桌面应用程序。由于其跨平台特性和强大的社区支持,Electron 已成为构建现代桌面应用程序的热门选择。

Github Actions 简介

Github Actions 是一个强大的自动化平台,允许您为您的项目设置自动化工作流程。您可以使用 Github Actions 执行各种任务,包括构建、测试、部署和发布。

自动化 Electron 打包和发布

以下是使用 Github Actions 自动化 Electron 打包和发布过程的步骤:

  1. 创建 Github Actions 工作流: 创建一个新的 Github Actions 工作流文件(通常称为 .github/workflows/main.yml),并添加以下内容:
name: Electron CI/CD

on:
  push:
    branches:
      - main

jobs:
  build-and-publish:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '16'
      - run: npm install
      - run: npm run build
      - uses: actions/upload-artifact@v3
        with:
          name: electron-build
          path: out
  1. 配置 Electron 构建: 在您的项目中,创建一个名为 package.json 的文件,并添加以下脚本:
{
  "scripts": {
    "build": "electron-packager . --platform=darwin --arch=x64 --icon=icon.icns --out=out"
  }
}
  1. 触发工作流: 将您的代码推送到 Github 存储库的主分支上,这将触发 Github Actions 工作流。

自动化 Electron 更新

一旦您的 Electron 应用程序发布,您可能需要更新它以修复错误或添加新功能。以下是使用 Github Actions 自动化 Electron 更新过程的步骤:

  1. 创建新的版本: 在您的项目中,创建一个新的版本,并为其增加一个版本号(例如,从 1.0.0 更新到 1.0.1)。

  2. 更新 Github Actions 工作流: 在您的 Github Actions 工作流文件中,添加一个新的步骤来下载最新版本的 Electron:

- uses: actions/download-artifact@v3
  with:
    name: electron-build
    path: electron-build
  1. 更新 Electron 应用程序: 在您的 Github Actions 工作流文件中,添加一个新的步骤来更新 Electron 应用程序:
- run: mv electron-build/darwin-x64/Electron.app .
  1. 发布更新的应用程序: 在您的 Github Actions 工作流文件中,添加一个新的步骤来发布更新的应用程序:
- uses: actions/upload-release-asset@v1
  with:
    upload_url: ${{ github.event.release.upload_url }}
    asset_path: Electron.app
    asset_name: Electron.app
    asset_content_type: application/octet-stream
  1. 创建发布: 将您的更新的代码推送到 Github 存储库,这将触发 Github Actions 工作流并更新您的 Electron 应用程序。

结论

通过利用 Github Actions,您可以轻松自动化 Electron 应用程序的整个生命周期,从构建到发布和更新。这不仅可以节省时间和精力,而且还可以确保您的应用程序始终保持最新状态并能够满足用户需求。下次需要为 Electron 应用程序进行打包、发布或更新时,不要忘记使用 Github Actions。