사내 GitLab CI/CD 정책 수립을 위한 사전 레퍼런스 프로젝트
이 프로젝트는 Claude (Anthropic AI)와의 페어 프로그래밍을 통해 제작된, 기업 환경에서 사용하기 위한 React Vite Monorepo CI/CD 템플릿입니다.
참고하되, 각 환경에 맞게 적절한 설정 및 변경이 필요할 수 있습니다.
- 사내 GitLab CI/CD 정책 수립을 위한 레퍼런스 자료
- Git Branch 전략 표준화
- 자동화된 배포 파이프라인 구축 가이드
- 초보자부터 전문가까지 학습 가능한 단계별 로드맵 제공
- ✅ 5분 QuickStart - 즉시 시작 가이드
- ✅ Git Branch 전략 - Feature → Develop → Main 워크플로우
- ✅ CI/CD 학습 로드맵 - Level 0~7 단계별 학습
- ✅ 환경별 설정 가이드 - Dev/Staging/Production
- ✅ 트러블슈팅 - 실전 문제 해결
config
├── gitlab-ci.yml # 기본 버전
├── gitlab-ci-simple-archive.yml # 간소화 버전
└── gitlab-ci-optimized.yml # 최적화 버전 (권장)- ✅ 복사-붙여넣기로 사용 가능한 설정 파일
- ✅ Docker 멀티스테이지 빌드 (96% 용량 감소)
- ✅ 자동 배포 및 롤백 전략
- ✅ Slack/Discord 알림 연동
- Claude Sonnet 4.5 (Anthropic)
- Web Search - 최신 정보 검색
- Computer Use - 파일 생성 및 검증
react-vite-monorepo-msa/
├── docs/ # 📚 11개 문서
│ ├── 01-QUICKSTART.md # 시작 가이드
│ ├── 02-PROJECT_STRUCTURE.md # 프로젝트 구조
│ ├── 03-POTENTIAL_ISSUES.md # 문제 해결
│ ├── 04-FINAL_CHECKLIST.md # 체크리스트
│ ├── 05-gitlab-variables-guide.md
│ ├── 06-README.md
│ ├── 07-커밋-아카이빙-방법-비교.md
│ ├── 08-최종-검토-및-최적화.md
│ ├── 09-환경별-설정-가이드.md
│ ├── 10-CICD-학습-로드맵.md # ⭐ Level 0-7
│ └── 11-Git-Branch-전략-완벽-가이드.md # ⭐ 워크플로우
│
├── config/ # ⚙️ 설정 파일
│ ├── gitlab-ci.yml
│ ├── gitlab-ci-optimized.yml # 권장
│ └── docker-compose.yml
│
├── docker/ # 🐳 Docker 설정
│ ├── Dockerfile.app
│ └── nginx.conf
│
└── apps/ # 📱 애플리케이션
└── main-app/
git clone https://github.com/your-org/react-vite-monorepo-cicd.git
cd react-vite-monorepo-cicd- 사용가이드.md - 전체 개요 (5분)
- docs/01-QUICKSTART.md - 빠른 시작 (10분)
- docs/11-Git-Branch-전략.md - Branch 전략 (30분)
- 초보자:
docs/10-CICD-학습-로드맵.mdLevel 0부터 시작 - 경험자:
config/gitlab-ci-optimized.yml복사 후 바로 적용
Week 1: Git 기본 + Branch 전략
├─ Git 명령어 학습
├─ Feature → Develop → Main 이해
└─ 첫 Merge Request 생성
Week 2: CI 구축
├─ .gitlab-ci.yml 작성
├─ Lint + Test 자동화
└─ MR 자동 검증
Week 3: CD 구축
├─ 개발 서버 자동 배포
├─ 프로덕션 수동 배포
└─ 롤백 전략 구현
Week 4: 최적화
├─ 파이프라인 병렬화
├─ 캐시 활용
└─ 모니터링 및 알림
1시간: 문서 읽기
├─ Branch 전략 이해
└─ CI/CD 파이프라인 분석
2시간: 설정 적용
├─ gitlab-ci.yml 복사
├─ 환경 변수 설정
└─ 첫 배포 테스트
1시간: 최적화
├─ 프로젝트에 맞게 수정
└─ 팀 가이드 작성
개발자 PC
↓ (개발 및 커밋)
feature/기능명
↓ (MR 생성)
├─ CI 자동 실행: Lint + Test
├─ 코드 리뷰
└─ 성공 시 Develop Merge
develop (개발/검증)
↓ (개발 서버 자동 배포)
↓ (MR 생성)
├─ 최종 검토
├─ Tech Lead 승인
└─ Main Merge
main (프로덕션)
↓ (수동 배포)
프로덕션 서버
| 브랜치 | 역할 | 배포 | 보호 |
|---|---|---|---|
main |
프로덕션 | 수동 | ⭐⭐⭐ |
develop |
개발/검증 | 자동 (dev) | ⭐⭐ |
feature/* |
기능 개발 | - | - |
MR 생성 시: -
├─ Lint (ESLint)
├─ Type Check (TypeScript)
├─ Unit Test (Jest)
├─ E2E Test (Playwright)
└─ Coverage Report
Merge 시: -
└─ 개발 서버 자동 배포Merge 시: -
├─ Production Build
├─ Docker Image 생성
└─ 수동 배포 대기
수동 배포 승인: -
├─ 이전 버전 백업
├─ 프로덕션 배포
├─ Health Check
└─ Slack 알림- ESLint, TypeScript, Jest, Playwright
- 커버리지 리포트
- MR 자동 검증
- Develop → 개발 서버 (자동)
- Main → 프로덕션 (수동 승인)
- 롤백 지원
- 멀티스테이지 빌드
- 500MB → 20MB (96% 감소)
- Nginx 경량 이미지
- Slack/Discord 알림
- 배포 성공/실패 통지
- 파이프라인 상태 추적
- ⏱️ 배포 시간: 1시간 → 5분 (92% 단축)
- 🔄 배포 빈도: 주 1회 → 일 10회
- ❌ 배포 에러: 30% → 5% (83% 감소)
- ✅ 자동 테스트: Lint + Unit + E2E
- 📊 커버리지: 85% 이상 유지
- 👥 코드 리뷰: 100% 필수
- ⚡ CI 피드백: 즉시 (5분 이내)
- 🔍 버그 조기 발견: 70% 증가
- 🎯 개발 집중도: 향상
- Git Branch 전략 - Feature → Develop → Main
- CI/CD 학습 로드맵 - Level 0~7 단계별
- 환경별 설정 - Dev/Staging/Production
- 트러블슈팅 - 실전 문제 해결
소규모 팀 (5명 이하):
└─ GitHub Flow (main + feature)
중규모 팀 (5-20명):
└─ GitLab Flow (main + develop + feature) ⭐ 권장
대규모 팀 (20명 이상):
└─ Git Flow (main + develop + feature + release + hotfix)
필수 단계:
├─ Lint (코드 스타일)
├─ Type Check (타입 안전성)
├─ Unit Test (단위 테스트)
└─ Build (빌드 검증)
선택 단계:
├─ E2E Test (통합 테스트)
├─ Security Scan (보안 스캔)
└─ Performance Test (성능 테스트)
개발 환경:
└─ develop 브랜치 Merge 시 자동 배포
프로덕션:
├─ main 브랜치 Merge 시 수동 승인 필요
├─ 2명 이상 리뷰 필수
└─ 롤백 전략 필수
Developer:
├─ feature 브랜치 생성/커밋
├─ MR 생성
└─ develop MR 승인 가능
Maintainer:
├─ develop 브랜치 보호
├─ main MR 승인
└─ 프로덕션 배포 권한
Owner:
└─ 전체 설정 관리
- React 18+
- TypeScript 5+
- Vite 5+
- TailwindCSS
- GitLab CI/CD
- Docker
- Nginx
- Jest (Unit Test)
- Playwright (E2E Test)
- ESLint (Lint)
v3.0 (2025-12-08)
├─ 전체 문서 품질 검증 완료
├─ 오류 수정 완료
v2.2 (2025-12-08)
└─ Git Branch 전략 가이드 추가
v2.1 (2025-12-08)
└─ CI/CD 학습 로드맵 추가 (Level 0-7)
v2.0 (2025-12-08)
└─ 최적화 + 환경별 설정
v1.1 (2025-12-08)
└─ 간소화 + 개선된 아카이빙
v1.0 (2025-12-08)
└─ 기본 구조 + 커스텀 HTML
A: docs/10-CICD-학습-로드맵.md의 Level 0부터 시작하세요.
A: GitLab 기준으로 작성되었지만, GitHub Actions로 변환 가능합니다. 대부분의 개념은 동일합니다.
A: 네! CI/CD 파이프라인의 빌드 명령어만 수정하면 됩니다.
A: 본 템플릿과 학습 자료는 빠른 실무 적용을 위한 가이드라인을 제공하며, 실무 적용의 참고 자료로 활용하시되, 운영 환경 적용 전에는 사용자 환경에 맞는 철저한 검토와 테스트를 진행하시길 권장합니다.
- AI 페어 프로그래밍
- 반복적 개선 (Iterative Refinement)
- 지속적 품질 검증