当前位置:

首页 > 软件教程 > 你真的会用Github吗?Electron自动打包攻略

你真的会用Github吗?Electron自动打包攻略

前言相信很多web前端开发的小伙伴和我一样,在想到要开发桌面端应用的时候会第一时间想到用Electron来开发。它可以让我们使用熟悉的HTML+JS+CSS来开发桌面应用。只需要一套代码,你的应用就可以轻松的运行在Windows,macOS,Linux三大操作系统上。但是过去开发Electron应用的时候想要编译出三大系统的应用程序安装包就有点麻烦了,你需要分别在三个操作系统上执行编译命令才能编译出对应系统的安装包。在不知道本文的方法之前,开发的过程是很开心的,但编译的过程提前运行你的Windows系统虚

前言

相信很多web前端开发的小伙伴和我一样,在想到要开发桌面端应用的时候会第一时间想到用Electron来开发。它可以让我们使用熟悉的HTML+JS+CSS来开发桌面应用。只需要一套代码,你的应用就可以轻松的运行在Windows,macOS,Linux三大操作系统上。

你真的会用Github吗?Github Actions魔法之Electron自动打包

但是过去开发Electron应用的时候想要编译出三大系统的应用程序安装包就有点麻烦了,你需要分别在三个操作系统上执行编译命令才能编译出对应系统的安装包。

在不知道本文的方法之前,开发的过程是很开心的,但编译的过程

提前运行你的Windows系统虚拟机或使用Windows系统电脑使用虚拟机通过共享目录访问项目目录或重新clone项目运行npm install安装项目开发环境必备的依赖包运行编译命令编译时会下载对应操作系统的依赖复制你的编译结果去发布应用程序吧

让人痛苦...

当然,1-3只需要在对应的操作系统上设置好一次就行。不过,当你的操作系统升级导致不兼容时,麻烦就又来了。

而上面所说的一切,都会在Github Actions的加持下,几乎完美的解决。

Github Actions

Github Actions是Github推出的持续集成/交付服务。免费,最近我在很多项目中一直在持续白嫖它。:)

比如以下两篇文章的用法

《利用GithubAction实现定时自动生成B站头图》《利用GithubAction爬取Github中国区排名》

你真的会用Github吗?Github Actions魔法之Electron自动打包

利用Github Actions,我们可以建立一套工作流(workflow),而一套工作流可以由数个Action来组合。这里我做个比喻,把发布一个应用程序类比为做一道菜。

配菜 > 洗锅 > 开火 > 加盐 > 加酱油 > 翻炒 > 目测火候 > 出锅上菜

现在我们把配菜后的步骤都编辑到一个工作流当中。当我们写完代码,提交项目后,就可以运行这套工作流来自动化的完成后续的工作。

可选的操作系统环境

我们可以给这套工作流指定其运行的操作系统,目前可以选择操作系统如下:

Virtual environment

YAML workflow label

Notes

Windows Server 2022

windows-2022

The windows-latest label currently uses the Windows Server 2019 runner image.

Windows Server 2019

windows-latest or windows-2019

Windows Server 2016[deprecated]

windows-2016

Migrate to Windows 2019 or Windows 2022. For more information, see the blog post.

Ubuntu 20.04

ubuntu-latest or ubuntu-20.04

Ubuntu 18.04

ubuntu-18.04

macOS Big Sur 11

macos-latest or macos-11

The macos-latest label currently uses the macOS 11 runner image.

macOS Catalina 10.15

macos-10.15

实战演练

当我们需要使用Github Actions的时候,我们需要在自己的git仓库中新建如下路径

下面,我们来解读(请看注释)一个帮我们完成Electron项目编译的工作流来看看它是如何工作的

代码语言:javascript代码运行次数:0运行复制
# 此工作流的名字name: Build # 工作流的执行时机,可以设定为定时执行,每次push后执行,手动执行等on:  # workflow_dispatch为在Github仓库的Actions面板中手动执行  workflow_dispatch:# 工作/任务,这里的工作是可以并行的。jobs:  # 工作的名称“编译windows版”  buildwin:    # 运行的操作系统 windows server 2022    runs-on: windows-2022    # 步骤    steps:    # 使用预制action:拉取最新的代码    - uses: actions/checkout@v2    # 步骤一的名称:    - name: Install and Build      # 该步骤运行的终端命令,进入仓库的src目录,安装依赖,运行编译命令      run:        cd src && npm install && npm run buildwin    # 步骤二的名称:将编译后的结果上传    - name: Upload File      # 使用预制action:上传文件,可以将执行路径打包成zip上传      uses: actions/upload-artifact@v2      with:        # 上传后文件的名称        name: windows        # 打包的路径以及文件过滤,此为仅打包dist目录下的exe文件        path: dist/*exe  # 工作的名称“编译macOS版”  buildmac:    # 运行的操作系统 macOS BigSur    runs-on: macos-11    # 步骤    steps:    # 使用预制action:拉取最新的代码    - uses: actions/checkout@v2    # 步骤一的名称:    - name: Install and Build      # 该步骤运行的终端命令,进入仓库的src目录,安装依赖,运行编译命令      run:        cd src && npm install && npm run buildmac    # 步骤二的名称:将编译后的结果上传    - name: Upload File      # 使用预制action:上传文件,可以将执行路径打包成zip上传      uses: actions/upload-artifact@v2      with:        # 上传后文件的名称        name: mac        # 打包的路径以及文件过滤,此为仅打包dist目录下的dmg文件        path: dist/*dmg

注释都仔细看了吗?OK,当github仓库中具备.github/workflows/工作流名称.yml的时候,打开Github仓库的Actions面板就可以看到可执行的工作流了。

你真的会用Github吗?Github Actions魔法之Electron自动打包

点击Build,再点击Run workflow就可以运行这个工作流了

你真的会用Github吗?Github Actions魔法之Electron自动打包
你真的会用Github吗?Github Actions魔法之Electron自动打包

看看,我们多个Job在同时进行!

另外这个列表可以查看工作流的执行时间,以及是否执行成功。点击列表项还可以查看详细的执行日志

你真的会用Github吗?Github Actions魔法之Electron自动打包

比如我们来看看最后这个失败的Build,到底在哪一步报错了呢?

你真的会用Github吗?Github Actions魔法之Electron自动打包

一目了然对不对!我们再来看看成功的日志

你真的会用Github吗?Github Actions魔法之Electron自动打包

成功后,我们已经自动将编译后的结果上传,点击即可下载。

结语

Github Actions真的太方便了,一键编译三个操作系统的安装包,这是我打包electron应用程序从未有过的舒服和惬意。


情人节马上到了,我用Electron开发了一个名为心有灵犀的小软件,已开源。

它的基本功能是这样的,当双方都安装了这个软件,那么在各自的桌面上都会显示一颗红心。当你点击它的时候,双方的小红心都会跳动一下。代表你此刻正在想念对方。而对方在收到心跳的同时,也回应你一个点击,就会产生一次心有灵犀的瞬间。代表你们同时在想对方!

项目地址:https://github.com/ezshine/tinytoy-heartconnect

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
软件教程
相关文章 更多
PicHound安装配置详细教程与操作步骤
PicHound安装配置详细教程与操作步骤

详解 PicHound 扩展在 Chrome 等浏览器中的安装步骤、图标固定方法、站点访问权限设置及图片查找技巧,解决无法识别或加载缓慢等常见问题。

microsoft浏览器怎么设置默认主页操作教程
microsoft浏览器怎么设置默认主页操作教程

详细图解 Microsoft Edge 浏览器中启动行为、主页按钮及新标签页的设置方法。厘清三者区别,提供准确的菜单路径与检查步骤,解决浏览器首页设置混淆问题。

PixTV新手入门:从注册到生成第一部AI漫剧的完整流程
PixTV新手入门:从注册到生成第一部AI漫剧的完整流程

零基础学习如何使用PixTV制作AI漫剧。涵盖账号注册、画布创建、脚本拆解、角色设定、分镜生成及音视频剪辑导出的完整步骤,帮助新手快速掌握节点式创作工具的核心用法。

quicker软件怎么用新手入门操作教程详解
quicker软件怎么用新手入门操作教程详解

详解 Quicker 软件基础用法,包括如何唤出动作面板、创建基于选中文本的搜索动作、管理场景与分组,以及配置专属动作快捷键,提升 Windows 办公效率。

charles配置https证书与抓包设置教程
charles配置https证书与抓包设置教程

详解Windows下Charles HTTPS抓包配置:包括根证书安装信任、SSL Proxying主机设置、浏览器验证及移动端差异处理,确保开发者安全高效地调试加密流量。

爱贝壳内容同步助手怎么关闭功能操作教程
爱贝壳内容同步助手怎么关闭功能操作教程

想知道如何关闭爱贝壳内容同步助手?本教程详解在Chrome和Edge浏览器中停用扩展、限制网页权限及彻底卸载的步骤,帮助你安全暂停同步任务并检查浏览器状态。

vidhub文件源打开慢怎么解决的实用教程
vidhub文件源打开慢怎么解决的实用教程

VidHub添加SMB或WebDAV文件源后加载缓慢?本文详解如何区分媒体库扫描慢与视频播放卡,通过精简扫描路径、验证网络权限及本地下载对比,快速解决文件源响应延迟问题。

reqable全局变量设置在哪里完整操作教程
reqable全局变量设置在哪里完整操作教程

想知道Reqable全局变量设置在哪里?本教程详解环境变量入口位置、全局与自定义环境的区别、变量引用方法及安全检查步骤,助你轻松管理API调试配置。

jmcomic3漫画官网下载安装包下载与使用指南
jmcomic3漫画官网下载安装包下载与使用指南

面向寻找高清无广告漫画资源的读者,jmcomic3漫画app(https://www.jmmanhua.top/)提供海量精品内容与智能推荐。针对用户关心的隐私保护及阅读卡顿问题,本文详解如何通过隐私设置隐藏收藏记录,并从设备内存、网络信号及线路切换三个维度排查加载故障,助您获得流畅纯净的沉浸式阅读体验。

skyvern在windows上使用教程及详细操作步骤
skyvern在windows上使用教程及详细操作步骤

详解如何在Windows环境下使用Docker Compose部署Skyvern。包括LLM密钥配置、本地Web界面登录、API连接检查及首个浏览器自动化任务创建步骤,适合初学者快速上手。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
WPS Office macOS版
WPS Office macOS版
macOS

WPS Office是一款面向macOS用户的综合办公套件,将文字处理、电子表格、演示文稿、PDF工具、模板与云协作整合在同一应用中。它兼容常见Microsoft Office格式,支持Intel及Apple芯片Mac,基础功能可免费使用,

Shapr3D macOS版
Shapr3D macOS版
Mac

Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。

REAPER macOS版
REAPER macOS版
Mac

REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。

WINDOWS 更多
Adobe Photoshop Windows版
Adobe Photoshop Windows版
Windows

Adobe Photoshop 是面向摄影师、设计师和内容创作者的专业图像处理工具,可在 Windows 上完成照片修饰、选区抠图、图层合成、文字排版、绘画及生成式编辑。软件采用订阅授权,由 Creative Cloud 管理安装、更新与许

Adobe InDesign Windows版
Adobe InDesign Windows版
Windows

Adobe InDesign 是面向印刷与数字出版的专业页面排版工具,可制作书籍、杂志、宣传册、海报、交互式 PDF 和电子书。它提供精细的文字样式、多页面管理、印前检查及多格式输出能力,并能与 Photoshop、Illustrator

Adobe Illustrator Windows版
Adobe Illustrator Windows版
Windows

Adobe Illustrator 是用于绘制矢量图形、插画、图标、徽标和版式的专业设计工具。它以路径和锚点为核心,作品放大后仍能保持清晰,并提供画板、文字、渐变、图像描摹及精确变换等功能,适合品牌视觉、印刷物料、数字界面和商业插画创作。