피드로 돌아가기
The Billion-Token Battle: Shipping Our OpenClaw Windows Client
Dev.toDev.to
DevOps

7z+NSIS 파이프라인 도입으로 Windows 설치 시간 80% 단축

The Billion-Token Battle: Shipping Our OpenClaw Windows Client

Joey Lee2026년 4월 15일5intermediate

Context

38,000개에 달하는 대규모 파일 트리 구조로 인해 기존 electron-builder의 기본 ZIP 압축 방식에서 심각한 빌드 및 설치 병목 발생. macOS와 Windows의 서로 다른 업데이트 메커니즘을 단일 코드 경로로 처리함에 따른 시스템 취약성 증가 및 런타임 경로 해석의 불확실성 존재.

Technical Solution

  • electron-builder를 win-unpacked 생성 단계로 한정하고 이후 과정을 커스텀 파이프라인으로 분리한 2단계 빌드 구조 설계
  • 다량의 소형 파일 처리에 최적화된 7z Solid Compression을 통한 압축률 향상 및 추출 속도 최적화
  • NSIS 기반 커스텀 인스톨러 도입을 통한 레지스트리 제어, 데이터 마이그레이션 및 언인스톨 프로세스의 정밀 제어 구현
  • Update Driver 추상화 계층 도입으로 OS별 업데이트 로직을 독립적으로 분리하여 상호 간섭 제거
  • 런타임 파일 위치를 exe 기준으로 명시적으로 정의하는 Windows Runtime Locator를 구현하여 런타임 경로 탐색의 결정론적 보장
  • 7-Zip을 저장소에 직접 포함하는 Vendoring 전략을 통해 CI/CD 환경의 외부 의존성 제거 및 빌드 재현성 확보

- 대규모 파일 패키징 시 ZIP 대신 Solid Compression 지원 포맷 검토 - OS별로 상이한 라이프사이클(예: 업데이트 방식)을 가진 기능은 Strategy 패턴 기반의 Driver 구조로 분리 - 런타임 경로 해석 시 휴리스틱 방식 대신 절대적 기준점(예: Entry Executable) 기반의 명시적 경로 정의 적용 - 빌드 도구의 버전 일관성을 위해 외부 설치 방식보다 Vendoring 방식의 의존성 관리 고려

원문 읽기