electron git action在线打包

52 min read

使用git action 生成构建物

name: Build Electron App For Win/Mac
# Workflow's trigger
on:
  push:

# Workflow's jobs
jobs:
  # job's id
  release:
    # job's name
    name: build and release electron app
    # the type of machine to run the job on
    runs-on: macos-11.0

    # create steps
    steps:
      # step1: check out repository
      - name: Check out git repository
        uses: actions/checkout@v2

      # step2: install node env
      - name: Install Node.js
        uses: actions/setup-node@v2-beta
        
      # step3: npm install
      - name: npm install
        run: |
          npm install
    
      - name: build mac app
        run: |
          npm run ele
        env:
          GH_TOKEN: ${{ secrets.TOKEN }}

      # step5: cleanup artifacts in dist_electron
      - name: cleanup artifacts for macosZ
        run: |
          npx rimraf "dist_electron/!(*.dmg)"

      # step6: upload artifacts
      - name: upload artifacts
        uses: actions/upload-artifact@v2
        with:
          name: macos-11.0
          path: dist_electron

      # step7: create release
      - name: Upload files to a GitHub release
        uses: svenstaro/upload-release-action@2.2.1
        with:
          repo_token: ${{ secrets.TOKEN }}
          file: "dist_electron/orc-0.1.1.dmg"
          asset_name: orc
          tag: ${{ github.ref }}
          overwrite: true
          body: "This is my release test"	

本地设置electron 源,所以手动执行一下

ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ ELECTRON_CUSTOM_DIR=7.0.0 yarn --force --verbose

也可以在.npmrc 里面配置

electron-mirror=https://npm.taobao.org/mirrors/electron/
electron-custom-dir=7.0.0