[Electron] 014. Electron 배포하기, 플랫폼(Windows, macOS, Linux)에 따른 설정 차이

Electron은 웹 기술을 사용하여 데스크탑 애플리케이션을 개발할 수 있는 프레임워크입니다. 이를 통해 개발자는 다양한 플랫폼에서 실행 가능한 애플리케이션을 작성할 수 있습니다. 그러나 각 플랫폼에 따라 배포 과정은 다소 다르게 진행되며, 이 글에서는 Windows, macOS, Linux의 각 플랫폼에서 Electron 애플리케이션을 배포하는 방법과 필요한 설정들에 대해 자세히 알아보겠습니다.

1. Electron 배포란?

Electron 애플리케이션을 배포하는 과정은 다음과 같은 단계로 구성됩니다:

  • 애플리케이션 빌드: 소스 코드를 패키징하여 실행 파일로 변환합니다.
  • 플랫폼별 설정: 각 운영체제에 맞게 설정 파일과 리소스를 준비합니다.
  • 배포: 빌드된 파일을 사용자가 다운로드하거나 설치할 수 있도록 배포합니다.

2. Windows에서 Electron 배포하기

Windows 플랫폼에서 Electron 애플리케이션을 배포하려면 주로 electron-builder 또는 electron-packager를 사용합니다. 아래는 electron-builder를 이용한 배포 과정입니다:

2.1. electron-builder 설치

다음 명령어로 electron-builder를 설치합니다:

npm install --save-dev electron-builder

2.2. package.json 설정

배포를 위한 설정을 package.json 파일에 추가합니다. 예제:

{
        "name": "your-app-name",
        "version": "1.0.0",
        "main": "main.js",
        "build": {
            "appId": "your-app-id",
            "win": {
                "target": [
                    {
                        "target": "nsis",
                        "arch": [
                            "x64"
                        ]
                    }
                ]
            }
        }
    }

여기서 appId는 애플리케이션의 고유 식별자이며, target는 배포할 형식을 설정합니다. NSIS(Nullsoft Scriptable Install System)는 Windows에서 .exe 설치 파일을 생성하는 데 사용됩니다.

2.3. 빌드하기

아래의 명령어로 애플리케이션을 빌드합니다:

npx electron-builder --win

빌드가 완료되면 dist 폴더에 설치 파일이 생성됩니다. 이 파일을 사용자에게 배포할 수 있습니다.

3. macOS에서 Electron 배포하기

macOS에서 Electron 애플리케이션을 배포하는 방법도 유사하지만, 몇 가지 추가적인 설정이 필요합니다:

3.1. certificate 설정

macOS에서 애플리케이션을 배포하기 위해서는 코드 서명이 필요합니다. 이를 위해서는 Apple Developer Program에 가입해야 하며, 인증서를 생성해야 합니다.

3.2. package.json 설정

package.json 파일에 macOS에 적합한 설정을 추가합니다:

{
        "build": {
            "mac": {
                "category": "public.app-category.developer-tools",
                "target": [
                    {
                        "target": "dmg",
                        "arch": [
                            "x64"
                        ]
                    }
                ],
                "hardenedRuntime": true,
                "entitlements": "entitlements.mac.plist"
            }
        }
    }

여기서 entitlements.mac.plist 파일은 애플리케이션이 필요로 하는 권한을 설정합니다.

3.3. 빌드하기

다음 명령어로 macOS 애플리케이션을 빌드합니다:

npx electron-builder --mac

이 명령어는 .dmg 형식의 설치 파일을 생성합니다. 생성된 파일을 사용자에게 배포합니다.

4. Linux에서 Electron 배포하기

Linux에서 Electron 애플리케이션을 배포할 때도 electron-builder를 사용할 수 있습니다. Linux에서는 다양한 배포 형식(Deb, Snap, AppImage 등)을 지원합니다.

4.1. package.json 설정

Linux에 맞는 설정을 package.json에 추가합니다:

{
        "build": {
            "linux": {
                "target": [
                    "AppImage",
                    "deb"
                ],
                "category": "Utility"
            }
        }
    }

4.2. 빌드하기

Linux 애플리케이션을 빌드하는 명령어입니다:

npx electron-builder --linux

이 명령어는 지정한 형식의 설치 파일을 생성합니다.

5. 요약

Electron 애플리케이션의 배포 과정은 플랫폼마다 조금씩 다릅니다. Windows, macOS, Linux 환경에 따라 각각의 설정을 이해하고 적절히 적용해야 합니다. 이번 글에서는 Windows에서는 NSIS, macOS에서는 DMG, Linux에서는 AppImage 및 Deb 형식을 사용해 배포하는 방법을 알아보았습니다. 각 플랫폼에 맞는 배포 설정을 잘 이해하고 활용하여 보다 원활한 배포를 진행하시길 바랍니다.

6. 추가 자료

더 많은 정보는 다음의 공식 문서를 참고하세요: