Files
2026-06-17 21:49:15 +09:00
..
2026-06-14 10:15:54 +09:00
2026-06-17 10:21:58 +09:00
2026-06-14 10:15:54 +09:00
2026-06-14 10:15:54 +09:00
2026-06-15 17:17:06 +09:00
2026-06-14 10:15:54 +09:00
2026-06-14 10:15:54 +09:00
2026-06-14 10:15:54 +09:00
2026-06-14 10:33:53 +09:00

GoldenChart Desktop (Tauri)

PC용 클라이언트 — frontend/src@frontend alias로 재사용합니다.
API·DB는 exdev 서버에 연결하며, 웹 브라우저와 병행 사용 가능합니다.

개발

# 루트에서 — 최초 1회 (Homebrew + Rust + NSIS/LLVM)
npm run install:desktop:deps          # 전체 (Windows 크로스 포함)
npm run install:desktop:deps -- --mac-only   # macOS 빌드만

# PATH (새 터미널 또는)
source ~/.zprofile
# 또는
source scripts/desktop-dev-path.sh

사전 요구: Tauri prerequisites (Rust, Xcode CLI 등)

빌드

npm run build:desktop:mac   # macOS .dmg
npm run build:desktop:win   # Windows NSIS (macOS에서 cargo-xwin 크로스 빌드)
./scripts/build-desktop.sh --all

산출물: desktop/src-tauri/target/release/bundle/dmg/GoldenChart_*.dmg

macOS dmg 설치

  1. dmg 더블클릭 → GoldenChart.appApplications(응용 프로그램)드래그 (자동 설치 아님)
  2. Finder → 응용 프로그램 → GoldenChart 실행 (goldenChart 아님, GoldenChart)
  3. Launchpad에 없으면 Spotlight(⌘+Space)에 GoldenChart 검색
  4. 창을 닫아도 메뉴 막대 트레이에 남음 — 트레이 아이콘 클릭으로 다시 열기

「손상되었기 때문에 열 수 없습니다」 (Gatekeeper)

Chrome 등으로 다운로드한 dmg는 Apple 公証(notarization) 이 없으면 macOS가 차단합니다. 앱 파일이 실제로 손상된 것은 아닙니다.

  1. 경고에서 취소 → Finder에서 GoldenChart 우클릭 → 열기 (최초 1회)
  2. 또는 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기
  3. 위 방법이 안 되면 터미널:
xattr -cr /Applications/GoldenChart.app

Jenkins / CI 코드 서명

빌드 시 기본 ad-hoc 서명 (signingIdentity: "-"). Apple Developer ID가 있으면 Jenkins에 설정:

export APPLE_SIGNING_IDENTITY="Developer ID Application: Your Name (TEAMID)"
export APPLE_ID="..."
export APPLE_PASSWORD="app-specific-password"
export APPLE_TEAM_ID="..."

公証까지 완료되면 Gatekeeper 경고 없이 설치됩니다.

실행 직후 바로 종료되는 경우

구버전 dmg(0.1.1 이전)는 Tauri updater가 http:// 엔드포인트를 release 빌드에서 거부해 시작 즉시 panic합니다.
최신 dmg를 다시 빌드·다운로드하세요. 터미널에서 확인:

/Applications/GoldenChart.app/Contents/MacOS/goldenchart-desktop
# InsecureTransportProtocol / updater 오류 → dmg 재설치 필요

주요 기능

  • 위젯 OS 창: WebviewWindow + widget.html
  • 트레이 상주: 닫기 → 숨김, STOMP 백그라운드 유지
  • OS 알림: 매매 시그널 → tauri-plugin-notification
  • 업데이트: 앱 시작 시 서버에 새 버전이 있으면 자동 다운로드·설치·재시작. 수동 확인은 설정 → PC 앱 또는 상단 업데이트 버튼.

자세한 배포·파일럿: docs/desktop-pilot.md

운영 스크립트

스크립트 용도
scripts/install-desktop-build-deps.sh Rust, NSIS, cargo-xwin (macOS Jenkins)
scripts/setup-desktop-updater-keys.sh updater minisign 키 생성
scripts/build-desktop.sh dmg + Windows NSIS + updater bundles
scripts/publish-desktop-update.sh 서명 + latest.json + static 배포
scripts/jenkins-desktop-pipeline.sh Jenkins 전체 파이프라인
scripts/server-install-desktop-jenkins.sh Jenkins Job XML 생성
scripts/smoke-test-desktop.sh CI smoke test
npm run install:desktop:deps
npm run setup:desktop:keys
npm run publish:desktop
npm run smoke:desktop