• Stars
    star
    138
  • Rank 264,508 (Top 6 %)
  • Language
    Go
  • Created about 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Package Electron applications in a distributable format on any platform for any platform

electron-build-service

Electron Build Service โ€” package Electron applications in a distributable format on any platform for any platform.

Experimental and not fully feature complete. Currently, Linux targets are supported.

Intended only for programmatic usage.

Free public Electron Build Service is provided and used by electron-builder since 19.48.0.

This readme contains information not about electron-build-server, but about free public electron build service. You can setup self-hosted instance if needed.

Why

  • Free public service for easier packaging Electron applications on any OS for any OS.
  • No need to setup build environment and copy project sources. Just run server and that's all (if for some reasons you cannot use free service).
  • Much faster builds compared to CI servers because no need to checkout project sources, build it and so on.

Please note โ€” it is not Electron issue that you cannot build app for all platforms on one platform.

Pricing

Service not going to be monetized. But build servers costs money. Donations welcome. Do not forget to specify your app name in the form โ€” your donation will affect build time not only indirectly (new build server for all), but directly โ€” specified apps will have higher priority.

Privacy

Only what your end users see and get, are sent to remote build server. electron-builder, that works with your local project sources on your local machine, packs application in a prepackaged format, that contains only what your end users get on installation/run. The whole project sources are not included and remains only on your local machine.

What is sent to remote build server:

  • info.json - this file contains project metadata (e.g. version, name) and effective electron-builder configuration.
  • prepackaged application โ€” e.g. linux-unpacked. This directory in your dist and you can inspect what are sent.
  • Headers x-targets and x-platform that contain information what to build. e.g. {"name": "appImage", "arch": "x64"}.

Communication is encrypted. Custom certificate authority is used and required by client (electron-builder), it means that even if someone will take control over domain, build will be rejected due to incorrect certificate (build agent certificate must be issued only by expected certificate authority).

To disable using Electron Build Service set option remoteBuild: false in the electron-builder.

Server Locations

  • Europe โ€” Amsterdam and Frankfurt.
  • Canada โ€” Beauharnois.

Which build server will be used is not predictable. Your actual location is not used for now to select build server, but planned (by IP address).

See Cloud Hosting Choice about used providers.

Build Time

Total build time consists of upload, queue waiting, build and download.

Upload depends on your CPU, internet connection and location. Download depends on your internet connection (location doesn't matter). Project packed using zstd compression and 50MB will be uploaded in a ~20 seconds for example.

Queue waiting is not predictable for now. In the future build agents will be started on demand.

Build time depends on target.

  • AppImage โ€” 10s.
  • deb โ€” 10s.
  • Snap โ€” 20s (no custom stage packages).

More Repositories

1

electron-builder

A complete solution to package and build a ready for distribution Electron app with โ€œauto updateโ€ support out of the box
TypeScript
13,564
star
2

devtron

[LOOKING FOR MAINTAINERS] An Electron DevTools Extension
JavaScript
1,728
star
3

spectron

DEPRECATED: ๐Ÿ”Ž Test Electron apps using ChromeDriver
JavaScript
1,677
star
4

electron-json-storage

๐Ÿ“ฆ Easily write and read user settings in Electron apps
JavaScript
1,433
star
5

electron-compile

DEPRECATED: Electron supporting package to compile JS and CSS in Electron applications
JavaScript
1,008
star
6

electron-webpack

Scripts and configurations to compile Electron applications using webpack
TypeScript
903
star
7

electron-prebuilt

๐ŸŽ‚ Retired project. See README
JavaScript
760
star
8

electron-webpack-quick-start

A bare minimum project structure to get started developing with electron-webpack.
JavaScript
729
star
9

electron-windows-store

๐Ÿ“ฆ Turn Electron Apps into Windows AppX Packages
JavaScript
678
star
10

electron-installer-windows

Create a Windows package for your Electron app.
JavaScript
470
star
11

electron-remote

DEPRECATED: Execute JavaScript in remote Electron processes, but more betterer
JavaScript
430
star
12

electron-installer-debian

Create a Debian package for your Electron app.
JavaScript
377
star
13

electron-wix-msi

๐Ÿ“€ Create traditional MSI installers for your Electron app
TypeScript
319
star
14

electron-installer-dmg

Create DMG installers for your electron apps using appdmg.
JavaScript
298
star
15

electron-spellchecker

Implement spellchecking, correctly
JavaScript
237
star
16

electron-builder-binaries

NSIS
172
star
17

electron-prebuilt-compile

electron-prebuilt with Babel and React built-in
JavaScript
169
star
18

electron-forge-templates

Templates bundled with Electron Forge <= 5 to create Electron apps using popular JavaScript frameworks
JavaScript
104
star
19

electron-installer-redhat

Create a Red Hat / RPM package for your Electron app.
JavaScript
81
star
20

electron-installer-snap

Build Snap packages for Electron applications
JavaScript
49
star
21

electrify

Step-by-step wizard to prepare Electron app for distribution, from packaging to auto-update.
TypeScript
48
star
22

electron-installer-zip

Create a ZIP file with support for symlinks required by Electron on macOS
JavaScript
46
star
23

welcome

Organization mission statement and contribution guidelines
45
star
24

electron-compilers

DEPRECATED: Compiler implementations for electron-compile
JavaScript
35
star
25

electron-installer-common

Common functionality for creating Node modules which create distributable Electron apps
JavaScript
9
star
26

electron-forge-container

Docker container for building Electron apps via Electron Forge
Dockerfile
7
star
27

create-electron-app

JavaScript
5
star
28

electron-forge-plugin-compile

Electron Compile plugin for Electron Forge
JavaScript
3
star
29

vue-cli-plugin-electron-forge

@vue/cli plugin to add Electron Forge
3
star