You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决GitHub Action发布ElectronJS应用至Release无输出文件故障

解决Electron应用通过GitHub Action发布到GitHub Release的问题

问题诊断

你的配置存在几个关键问题,导致未生成预期安装包且Release页面仅显示源文件:

  • 触发逻辑不合理:所有代码推送都会触发构建,不符合版本发布的场景,且普通推送触发的Workflow中,默认GITHUB_TOKEN权限不足以完成Release发布
  • 输出路径匹配不准确:Electron Builder在不同系统下的默认输出路径存在细分目录,当前路径规则可能无法匹配到产物文件
  • 缺少Electron Builder发布配置的验证环节:未确认package.json中的脚本和构建配置是否符合发布要求

修正后的Workflow配置

name: Release
# 仅在推送版本tag时触发,例如v1.0.0格式的tag
on:
  push:
    tags:
      - 'v*'

jobs:
  release:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [macos-latest, ubuntu-latest, windows-latest]

    steps:
      - uses: actions/checkout@v3
        # 拉取完整提交历史,避免Electron Builder版本计算出错
        with:
          fetch-depth: 0

      - uses: actions/setup-node@v3
        with:
          node-version: 18
          # 缓存npm依赖,提升构建速度
          cache: 'npm'

      - name: 安装Ubuntu系统依赖
        if: matrix.os == 'ubuntu-latest'
        run: |
          sudo apt-get update
          sudo apt-get install -y libgtk-3-dev libnss3-dev libasound2-dev

      - name: 安装项目依赖
        run: npm ci # 基于package-lock.json安装,保证依赖版本稳定

      - name: 构建并发布
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        # 需确保package.json中的publish脚本为electron-builder发布命令
        run: npm run publish

      - name: 上传构建产物
        uses: actions/upload-artifact@v3 # 使用官方上传Action,稳定性更高
        with:
          name: ${{ matrix.os }}-build
          path: |
            out/**/*.zip
            out/**/*.exe
            out/**/*.deb
            out/**/*.rpm
          if-no-files-found: error # 未找到文件直接报错,便于排查问题

额外配置验证

  1. 检查package.json配置

    • 确认scripts中的publish字段正确:
      "scripts": {
        "publish": "electron-builder --publish always"
      }
      
    • 确认build配置包含GitHub发布设置:
      "build": {
        "appId": "com.yourdomain.yourapp",
        "publish": {
          "provider": "github",
          "releaseType": "release"
        }
      }
      
  2. 遵循版本tag规范
    推送tag时需使用vx.x.x格式,例如执行git tag v1.0.0后,再运行git push origin v1.0.0触发Workflow

  3. 权限确认
    默认的GITHUB_TOKEN在tag推送触发的Workflow中,已具备创建Release和上传资产的权限,无需额外配置

内容的提问来源于stack exchange,提问作者mohsen shabanian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 10:08:10