Skip to content

Instantly share code, notes, and snippets.

@dansanti
Forked from Slauta/.gitlab-ci
Created August 14, 2023 14:40
Show Gist options
  • Select an option

  • Save dansanti/292803653c5c9506cf070dce60a3bb19 to your computer and use it in GitHub Desktop.

Select an option

Save dansanti/292803653c5c9506cf070dce60a3bb19 to your computer and use it in GitHub Desktop.
electron-updater from private repo gitlab.com

This repo contains the bare minimum code to have an auto-updating Electron app using electron-updater with releases stored on a plain HTTP server.

This example uses localhost as the release server.

  1. For macOS, you will need a code-signing certificate.

    Install Xcode (from the App Store), then follow these instructions to make sure you have a "Mac Developer" certificate. If you'd like to export the certificate (for automated building, for instance) you can. You would then follow these instructions.

  2. Install necessary dependencies with:

     yarn
    

    or

     npm install
    
  3. Build your app with:

     node_modules/.bin/build --win --mac --x64 --ia32
    
  4. Copy the files in the dist/ directory to your webserver. Here's how to do it on a Linux system:

     mkdir -p wwwroot
     cp dist/*.json wwwroot/
     cp dist/*.yml wwwroot/
     cp dist/mac/*.zip wwwroot/
     cp dist/mac/*.dmg wwwroot/
     cp dist/*.exe wwwroot/
    
  5. Serve wwwroot over HTTP:

     node_modules/.bin/http-server wwwroot/ -p 8080
    
  6. Download and install the app from http://127.0.0.1:8080

  7. Update the version in package.json.

  8. Do steps 3 and 4 again.

  9. Open the installed version of the app and see that it updates itself.

const electron = require("electron");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment