Cursor AI 코딩 에이전트와 GitLab MCP 서버를 연동해 Java 8 레거시 애플리케이션을 Java 21로 단계적으로 마이그레이션하는 방법을 다룬다. 코드 수정 범위를 단계별로 좁히면서 테스트 실패 수정 → CI/CD 품질 게이트 구축 → 컴포넌트 현대화 순서로 진행해 에이전트 속도와 안전성을 동시에 확보한다.
핵심 포인트- GitLab MCP 서버(HTTP 트랜스포트, /api/v4/mcp)로 Cursor가 이슈, MR, 파이프라인, 프로젝트 컨텍스트를 직접 참조 — 정보를 프롬프트에 복붙하는 수작업 불필요.
- 3단계 점진적 마이그레이션: 실패 테스트 수정(버그 제거) → 병렬 Java 8/21 CI/CD 게이트 구축 → HttpURLConnection을 java.net.http.HttpClient로 교체.
- AGENTS.md로 에이전트에게 아키텍처/명령어/작업 경계를 문서화 — 에이전트가 리포지토리 구조를 이해하고 올바른 범위 내에서 작업.
- 코드 리뷰 지시(.gitlab/duo/mr-review-instructions.yaml)와 GitLab Orbit 커스텀 플로우로 에이전트 생성 MR도 사람 코드와 동일한 리뷰 기준 적용.
- "에이전트 속도는 포괄적 리뷰, 테스트, 추적 가능성 인프라가 갖춰져야만 안전해진다"는 원칙 강조.
상세 정리- 문제: Java 8 레거시 코드는 최신 생태계와 성능 개선에서 소외됨. 대규모 일괄 마이그레이션은 위험하므로 점진적 범위 제한 접근법이 필요.
- GitLab MCP 서버 연동: Cursor가 HTTP 트랜스포트로 GitLab 인스턴스에 연결. 이슈 계획, 의존성, 토론, 파이프라인 상태를 컨텍스트로 실시간 참조.
- Phase 1 — 실패 테스트 수정: Cursor가 E2E 테스트에서 collector가 2xx 응답을 모두 성공으로 처리하는 버그(설정된 예상 상태 코드를 무시) 발견 및 수정.
- Phase 2 — CI/CD 게이트 구축: Java 8과 Java 21을 병렬로 테스트하는 CI/CD 파이프라인 설정. 마이그레이션 중 회귀 즉시 탐지.
- Phase 3 — 컴포넌트 현대화: HttpURLConnection을 java.net.http.HttpClient로 교체. Docker Compose 기반 로컬 기능 검증 후 MR 제출.
- AGENTS.md 역할: 에이전트가 작업 전 리포지토리의 아키텍처, 실행 명령어, 작업 경계를 이해하도록 안내. 에이전트가 잘못된 범위에서 작업하는 것을 방지.
- 코드 리뷰 지시(.gitlab/duo/mr-review-instructions.yaml): Java 현대화에 특화된 스타일 가이드를 명시해 에이전트 생성 MR도 동일한 기준으로 자동 리뷰.
- Agentic Skills: 검증된 현대화 패턴을 재사용 가능한 워크플로우로 캡처 — 동일 패턴을 다른 컴포넌트에 반복 적용 시 활용.
- 커스텀 플로우: GitLab Orbit으로 브레이킹 체인지 발생 시 영향 분석 자동화.
- 안전성 원칙: 에이전트 속도는 Code Review Flow, Developer Flow, CI/CD, 보안 스캐닝이 갖춰진 뒤에야 안전. 인프라 없이 에이전트만 도입하면 위험.
왜 읽나AI 코딩 에이전트로 Java 레거시 마이그레이션을 안전하게 자동화하려는 개발자와 팀에게 MCP 통합, AGENTS.md, CI/CD 안전망 구성의 실전 패턴을 제공.