📑 목차
시스템 개요 SemVer 체계 시스템 아키텍처 데이터 흐름 구현 로드맵 (Phase 1~6) 시스템 사양

🔄 Onlyone 통합 버전 관리 시스템

다중 사이트·다중 서버 환경에서 모든 소프트웨어 버전을 통합 관리하는 시스템입니다. SemVer(시맨틱 버저닝) 기반의 릴리즈 관리, 원격 서버 SSH 연동, Git/GitHub CI/CD 자동화까지 완비되어 있습니다.

🔗 접속: https://kiam.kr/vermanager/
📁 설치 경로: /home/vermanager/ (Apache Alias: /vermanager → /home/vermanager)

SemVer (Semantic Versioning) 체계

  MAJOR . MINOR . PATCH
     │       │       │
     │       │       └─ 버그 수정, 작은 개선 (하위 호환)
     │       │          예: 1.0.0 → 1.0.1 (patch)
     │       │
     │       └───────── 기능 추가 (하위 호환)
     │                  예: 1.0.0 → 1.1.0 (minor)
     │
     └───────────────── 대규모 변경 (하위 호환 깨짐)
                        예: 1.0.0 → 2.0.0 (major)
🟢 PATCH

버그 수정, 작은 개선, 문서 업데이트. 기존 기능에 영향 없음. 현재 버전: v1.0.1

🟡 MINOR

새 기능 추가. 하위 호환성 유지. 기존 사용자 영향 없음.

🔴 MAJOR

대규모 변경, API 변경, 하위 호환성 깨짐. 신중한 계획 필요.

시스템 아키텍처

┌──────────────────────────────────────────────────────────────┐
│                   Onlyone 통합 버전 관리 시스템                   │
├──────────────────────────────────────────────────────────────┤
│  📡 API 레이어 (8개 엔드포인트)                                  │
│  ┌────────────────────────────────────────────────────────┐  │
│  │ version.php │ release.php │ history.php │ improvements │  │
│  │ sites.php   │ remote.php  │ git.php      │ (RESTful)   │  │
│  └────────────────────────────────────────────────────────┘  │
├──────────────────────────────────────────────────────────────┤
│  🖥️ UI 레이어 (10개 페이지)                                     │
│  ┌────────────────────────────────────────────────────────┐  │
│  │ dashboard │ sites │ site-detail │ release │ history    │  │
│  │ improvements │ changelog │ settings │ remote │ git    │  │
│  └────────────────────────────────────────────────────────┘  │
├──────────────────────────────────────────────────────────────┤
│  💾 데이터 레이어 (JSON 파일 DB)                                │
│  ┌────────────────────────────────────────────────────────┐  │
│  │ data/site-registry.json          ← 사이트 등록부          │  │
│  │ data/sites/{site-id}/package.json     ← 버전 정보         │  │
│  │ data/sites/{site-id}/version_history.json ← 릴리즈 이력   │  │
│  │ data/sites/{site-id}/changelog.json     ← 변경 사항       │  │
│  │ data/sites/{site-id}/improvements.json  ← 개선 사항       │  │
│  └────────────────────────────────────────────────────────┘  │
├──────────────────────────────────────────────────────────────┤
│  🔗 연동 시스템                                                │
│  ┌────────────────────────────────────────────────────────┐  │
│  │ MySQL (source_improvements) ← DB 기반 개선사항 연동       │  │
│  │ SSH (원격 서버)              ← 원격 배포/동기화            │  │
│  │ Git/GitHub                   ← CI/CD 자동화              │  │
│  └────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────┘

데이터 흐름

1. 사이트 등록 → site-registry.json
2. 사이트별 데이터 폴더 자동 생성 → data/sites/{id}/
3. 개선사항 등록 → improvements.json + MySQL DB
4. 릴리즈 실행 → package.json 버전 범핑
                → version_history.json 기록
                → changelog.json 갱신
                → 개선사항 released_in 업데이트
5. 원격 배포 → SSH로 운영 서버 전송
6. Git 자동화 → 커밋 + 푸시 + 태그

구현 로드맵 (Phase 1~6) — ✅ 전체 완료

Phase 1 기본 버전 관리 시스템 구축 (API+UI+JSON DB)
Phase 2 다중 사이트·다중 서버 설계 (site-registry 패턴)
Phase 3 전체 통합 구현 (+3,875라인, 26파일) — d5203e8
Phase 4 원격 서버 SSH 연동 (api/remote.php, pages/remote.php)
Phase 5 Git/GitHub CI/CD 자동화 (api/git.php, pages/git.php)
Phase 6 통합 테스트 및 최종 검증 완료 — 1cbf11c

시스템 사양

항목사양
API 엔드포인트8개 (version, release, history, improvements, sites, remote, git)
UI 페이지10개 (dashboard, sites, site-detail, release, history, improvements, changelog, settings, remote, git)
등록 사이트2개 (kiam-prod 운영, kiam-dev 개발)
서버main-server (127.0.0.1:22)
기술 스택PHP 8.2 + Apache 2.4 + JSON 파일 DB + MySQL + SSH
CSS356라인 (CSS 변수, 반응형, 다크모드)
PRonlyonemaster/onlyopen#1