커밋 그래프

10 커밋

작성자 SHA1 메시지 날짜
fe1de4bf51 fix(deploy): 배포 자동화 + 수집기 모니터링 + 이란 signal-batch 연동 (#32)
All checks were successful
Deploy KCG / deploy (push) Successful in 1m10s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 05:46:55 +09:00
985315d147 fix(ci): JDK 21 설치 — Adoptium Temurin APT 저장소 사용
node:24(Debian bookworm) 기본 apt에 openjdk-21 없음.
Adoptium GPG 키 + 저장소 추가 후 temurin-21-jdk 설치.
2026-03-17 16:58:26 +09:00
1e4c51e76b feat(aircraft): 항공기 백엔드 수집기 구현 + 프론트엔드 전환
- Airplanes.live / OpenSky @Scheduled 수집기 (60초 주기)
- 인메모리 캐시 + PostGIS DB 적재 (향후 리플레이용)
- GET /api/aircraft?region=iran|korea REST API
- 프론트엔드 LIVE→백엔드 API, REPLAY→샘플 전용
- JDK 17→21 업그레이드 (pom, sdkmanrc, CI/CD, systemd)
2026-03-17 16:50:17 +09:00
3931c23939 fix(ci): .env에 빈 secrets 기록 방지 (JWT_SECRET 빈 값 문제) 2026-03-17 16:05:30 +09:00
7cde0c57d8 feat(frontend): UI 브랜딩 개선 + 배포 설정 정리
- 로그인 화면: kcg.svg 로고 적용 (이모지 교체)
- 헤더 우측: 사용자 프로필/이름 + 로그아웃 버튼 추가
- 브라우저 탭: favicon → kcg.svg, 제목 → kcg-dashboard-demo
- 프로덕션 빌드: console/debugger 자동 제거
- CORS: CorsFilter 최우선 순위 등록 (AuthFilter 이전)
- deploy.yml: secrets → .env 파일로 배포
- systemd/nginx: 경로 /devdata/services/kcg/ 반영
2026-03-17 15:50:05 +09:00
7d594ba632 fix(ci): deploy.yml 전면 재구성 (act 컨테이너 환경 대응)
- sudo 제거 (컨테이너 내 root)
- apt-get으로 JDK/Maven 설치 (sudo 없이)
- actions/setup-node 제거 (node:24 이미지 기본 제공)
- systemctl → .deploy-trigger + systemd path unit
- kcg-backend-watcher.path/.service 추가
2026-03-17 15:17:56 +09:00
bdf87c1822 fix(ci): @rollup/rollup-darwin-arm64 직접 의존성 제거 (플랫폼 호환) 2026-03-17 14:48:45 +09:00
6607960df8 fix(ci): package-lock.json 제거 후 npm install (플랫폼 호환)
macOS에서 생성된 package-lock.json에 darwin-arm64 전용
optional dependency가 고정되어 Linux 러너에서 EBADPLATFORM 에러.
CI에서 lock 파일 없이 fresh install하여 플랫폼에 맞는 의존성 설치.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 14:29:09 +09:00
c5ab82fd19 fix(ci): npm ci → npm install --no-optional (Linux 플랫폼 호환)
macOS ARM64용 @rollup/rollup-darwin-arm64가 package-lock.json에
고정되어 Linux x64 러너에서 EBADPLATFORM 에러 발생.
npm install --no-optional로 플랫폼별 optional dependency를 건너뜀.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 14:21:16 +09:00
fea77361d8 chore: CI/CD 파이프라인 + 배포 설정 + 루트 정리
- .gitea/workflows/deploy.yml: main merge 시 frontend/backend 자동 빌드·배포
- deploy/kcg-backend.service: systemd 서비스 (JDK 17, 2~4GB 힙)
- deploy/nginx-kcg.conf: SSL + SPA 서빙 + API 프록시 + 외부 API CORS 프록시
- .githooks/pre-commit: 모노레포 대응 (frontend tsc+eslint, backend mvn compile)
- .gitignore: frontend/backend/prediction 각각 빌드 산출물 추가
- CLAUDE.md: 모노레포 구조 반영

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 13:55:21 +09:00