🔄 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 |
| CSS | 356라인 (CSS 변수, 반응형, 다크모드) |
| PR | onlyonemaster/onlyopen#1 |