feat: 배포 파이프라인 — Ollama/sidecar 번들 + NSIS 자동 VC++ + GitLab CI + 온보딩 모달
- sidecar 슬림화: torch/pyannote 제거, ctranslate2 GPU 감지, /diarize 삭제 - Ollama 번들: resources/ollama/에 포터블 바이너리 배치, LocalLLMService 1순위 탐색 - installer.nsh: VC++ 재배포 x64 자동 다운로드(aka.ms 경유) + 사일런트 설치 - electron-builder: extraResources에 ollama 추가, nsis.include로 installer.nsh 연결 - scripts: download-ollama.ps1/sh 신규 - LLM.PULL_MODEL IPC 핸들러 + LocalLLMService.pullModel() 구현 (api/pull 스트리밍) - 온보딩 모달: gemma4:e4b 미설치 감지 시 자동 표시, 진행률 UI, i18n(ko/en) 키 추가 - .gitlab-ci.yml: Windows 러너에서 sidecar/sox/ollama 준비 후 NSIS 패키징, 태그 시 Release 자동 생성
This commit is contained in:
parent
d1edad6727
commit
aa65e710ec
16 changed files with 725 additions and 500 deletions
60
apps/desktop/build/installer.nsh
Normal file
60
apps/desktop/build/installer.nsh
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
; build/installer.nsh
|
||||
; NSIS 커스텀 스크립트. electron-builder의 nsis.include로 참조됨.
|
||||
;
|
||||
; 목적:
|
||||
; 1) Visual C++ 재배포 패키지(x64, 2015-2022) 확인 및 사일런트 자동 설치
|
||||
; - Ollama 및 faster-whisper 사이드카의 네이티브 의존성이 요구함.
|
||||
; - NSIS 내장 NSISdl 플러그인(인터넷 다운로드 표준)으로 aka.ms 경유 다운로드.
|
||||
; 2) 언인스톨 시 번들 Ollama 프로세스 종료.
|
||||
|
||||
!macro customInstall
|
||||
DetailPrint "VC++ 재배포 패키지(x64) 확인 중..."
|
||||
|
||||
; x64 Visual C++ 2015-2022 재배포 패키지 설치 여부 확인
|
||||
ClearErrors
|
||||
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" "Installed"
|
||||
|
||||
${If} $0 != "1"
|
||||
DetailPrint "VC++ 재배포 미설치 → 자동 다운로드/설치 시도"
|
||||
|
||||
; aka.ms/vs/17/release/vc_redist.x64.exe (영구 리다이렉트 → 최신 17.x)
|
||||
; NSISdl은 리다이렉트를 따라가며 Microsoft 공식 MSI 패키지를 받는다.
|
||||
NSISdl::download /TIMEOUT=30000 "https://aka.ms/vs/17/release/vc_redist.x64.exe" "$TEMP\vc_redist.x64.exe"
|
||||
Pop $R0
|
||||
|
||||
${If} $R0 == "success"
|
||||
DetailPrint "vc_redist.x64.exe 사일런트 설치 실행"
|
||||
ExecWait '"$TEMP\vc_redist.x64.exe" /install /quiet /norestart' $1
|
||||
Delete "$TEMP\vc_redist.x64.exe"
|
||||
|
||||
${If} $1 == 0
|
||||
DetailPrint "VC++ 재배포 설치 완료"
|
||||
${ElseIf} $1 == 1638
|
||||
; 1638 = 동일/상위 버전 이미 설치됨
|
||||
DetailPrint "VC++ 재배포 동일 이상 버전 이미 설치됨 (코드 1638)"
|
||||
${ElseIf} $1 == 3010
|
||||
; 3010 = 설치 성공, 재부팅 필요
|
||||
DetailPrint "VC++ 재배포 설치 완료 (재부팅 필요)"
|
||||
${Else}
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION \
|
||||
"VC++ 재배포 설치 중 경고 발생 (코드 $1).$\r$\n일부 기능이 동작하지 않을 수 있습니다.$\r$\n수동 설치: https://aka.ms/vs/17/release/vc_redist.x64.exe"
|
||||
${EndIf}
|
||||
${Else}
|
||||
DetailPrint "VC++ 재배포 다운로드 실패: $R0"
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION \
|
||||
"VC++ 재배포 패키지 다운로드에 실패했습니다.$\r$\n$\r$\n아래 링크에서 수동으로 설치해주세요:$\r$\nhttps://aka.ms/vs/17/release/vc_redist.x64.exe$\r$\n$\r$\n설치하지 않으면 음성 인식이 동작하지 않습니다."
|
||||
${EndIf}
|
||||
${Else}
|
||||
DetailPrint "VC++ 재배포 이미 설치됨."
|
||||
${EndIf}
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\resources\ollama\ollama.exe"
|
||||
DetailPrint "번들 Ollama 발견: $INSTDIR\resources\ollama\ollama.exe"
|
||||
${EndIf}
|
||||
!macroend
|
||||
|
||||
!macro customUnInstall
|
||||
DetailPrint "번들 Ollama 프로세스 종료 시도"
|
||||
nsExec::Exec 'taskkill /F /IM ollama.exe'
|
||||
Pop $0
|
||||
!macroend
|
||||
Loading…
Add table
Add a link
Reference in a new issue