피드로 돌아가기
Automate the Boring Stuff: Electron macOS Signing & Notarization in One Git Push
Dev.toDev.to
DevOps

GitHub Actions 기반 Electron 앱 macOS Signing 및 Notarization 자동화 파이프라인 구축

Automate the Boring Stuff: Electron macOS Signing & Notarization in One Git Push

Louis Liu2026년 6월 2일17intermediate

Context

macOS Gatekeeper로 인한 미서명 앱 실행 차단 및 부정적인 사용자 경험 발생. 수동 서명 및 Notarization 과정의 반복적 공수로 인한 배포 병목 현상 직면.

Technical Solution

  • Apple Developer Program 기반의 Developer ID Application 인증서를 통한 신뢰성 확보
  • electron-builder의 afterSignafterAllArtifactBuild 훅을 활용한 Notarization 및 Stapling 단계의 파이프라인화
  • Hardened Runtime 활성화를 통한 Apple Notary 서비스의 검증 요구사항 충족
  • CSC_LINK 및 CSC_KEY_PASSWORD 환경 변수를 통한 인증서 보안 관리 및 자동 주입 구조 설계
  • Git Tag 기반의 Trigger를 통한 Version Bump, Build, Sign, Notarize, Release Draft 생성의 전 과정 CD 자동화
  • entitlements.mac.plist 설정을 통해 하위 헬퍼 바이너리까지 일관된 권한 상속 체계 적용

1. macOS 배포 시 Hardened Runtime 설정 및 entitlements plist 정의 여부 확인

2. .p12 인증서의 Base64 인코딩을 통한 CI/CD 환경 변수 관리 체계 검토

3. Notarization 이후 Ticket을 바이너리에 결합하는 Stapling 공정 포함 여부 확인

4. Git Tag 기반의 버전 관리 및 자동 배포 워크플로우 도입 고려

원문 읽기