이 문서에서는 Java용 GitHub Copilot 앱 현대화 - 업그레이드(미리 보기)에 대한 개요를 제공합니다.
기업은 개발 주기 내내 기술적인 문제를 처리하는 경우가 많으며 업그레이드는 일반적인 작업입니다. Java 런타임, 프레임워크 및 종속성을 업그레이드하려면 상당한 시간과 리소스가 필요할 수 있습니다.
GitHub Copilot 앱 현대화 - Java용 업그레이드(미리 보기)는 Java 앱 업데이트를 지원하도록 설계된 AI 기반 솔루션입니다. 이 도구는 AI를 사용하여 다음 작업을 수행합니다.
- 프로젝트 및 해당 종속성을 분석하고 업그레이드 계획을 제안합니다.
- 프로젝트를 변환하는 계획을 실행합니다.
- 진행 중 문제를 자동으로 해결합니다.
- 커밋, 로그 및 출력을 포함한 모든 세부 정보를 보고합니다.
- 업그레이드 후 CVE(일반 취약성 및 노출) 보안 취약성 및 코드 불일치에 대한 검사를 수행합니다.
- 파일 변경, 업데이트된 종속성 및 수정된 문제를 포함한 요약을 표시합니다.
- 업그레이드 프로세스와 별도로 단위 테스트 사례를 생성합니다.
이 도구는 GitHub Copilot의 AI 기반 기능을 OpenRewrite와 같은 오픈 소스 도구와 통합하여 복잡한 업그레이드 단계를 자동화합니다. Maven 및 Gradle 프로젝트를 모두 지원하고 Java 버전 8, 11, 17 및 21 간의 업그레이드를 대상으로 합니다. 이 도구는 Spring Boot 프레임워크를 사용하는 애플리케이션을 현대화하는 데 특히 중점을 두고 있습니다. 업그레이드 프로세스는 모든 로그와 출력을 표시하여 제어를 유지하고 투명도를 보장합니다.
다음 비디오에서는 GitHub Copilot 앱 현대화 - Java용 업그레이드(미리 보기)를 사용하여 Java Spring 앱의 버전을 업그레이드하는 방법을 보여 줍니다.
일반적인 사용 사례
GitHub Copilot 앱 현대화 - Java용 업그레이드(미리 보기)는 다음 사용 사례에 사용할 수 있습니다.
- Java 런타임 버전을 업그레이드합니다. Java 8 또는 11에서 Java 17 또는 21과 같은 최신 버전으로 애플리케이션을 원활하게 업그레이드합니다.
- 최신 프레임워크 버전으로 업그레이드합니다. 호환성이 손상되는 변경 내용을 지능적으로 처리하여 Spring Boot 2.7에서 3.2와 같은 버전으로 전환합니다.
- CVE 취약성을 검색합니다. 업그레이드 프로세스 중에 타사 종속성에서 알려진 보안 취약성을 감지하고 해결합니다.
- 코드 동작 일관성을 보장합니다. 동작 불일치를 감지하고 해결하여 애플리케이션이 업그레이드 후 동일한 동작을 수행하고 있는지 확인합니다.
- 테스트 범위가 낮은 프로젝트에 대한 단위 테스트 사례를 생성합니다. 단위 테스트 생성 도구는 업그레이드 프로세스와 독립적으로 단위 테스트 사례를 만들 수 있습니다.
앱을 Azure로 마이그레이션하는 데 도움이 되는 별도의 도구도 있습니다. Java용 GitHub Copilot 앱 현대화(미리 보기)는 코드 평가 및 수정을 제공하고 하나의 솔루션에서 성공적인 빌드를 보장하여 개발자 속도, 품질 및 신뢰를 향상시키는 AI 기반 도구입니다. 자세한 내용은 Java용 GitHub Copilot 앱 현대화(미리 보기)를 참조하세요.
개념들
GitHub Copilot 앱 현대화 - Java용 업그레이드(미리 보기)는 Visual Studio Code 내에서 단계별 다단계 업그레이드 워크플로를 따릅니다. 다음 섹션에서는 도구 작동 방식에 대한 개념적 모델을 제공합니다.
1. 초기 프롬프트
Java 프로젝트를 Java 17 및 Spring Boot 3.2로 업그레이드하는 것과 같은 Visual Studio Code의 에이전트 모드에서 초기 프롬프트를 제공합니다.
2. 프로젝트 분석
이 프롬프트에 따라 이 도구는 빌드 도구인 Maven 또는 Gradle - JDK 버전 및 종속성을 포함하여 작업 영역에서 현재 Java 프로젝트의 구조를 평가합니다.
그런 다음 이 도구는 plan.md 파일에서 초기 업그레이드 계획을 생성하여 계획된 변경 내용을 간략하게 설명합니다.
3. 사용자 지정 계획
이 단계에서는 업그레이드 계획을 검토하고 편집하여 JDK, 프레임워크 또는 타사 라이브러리의 대상 버전을 조정할 수 있습니다. 계획을 확인한 후 업그레이드가 시작됩니다.
4. 자동화된 코드 변환
코드 변환이 발생하는 위치는 다음과 같습니다. 이 변환은 주로 다음 두 가지 주요 단계로 구성됩니다.
- 이 도구는 먼저 OpenRewrite라는 오픈 소스 도구를 사용하여 코드 변환을 적용합니다.
- 남은 문제가 있는 경우 GitHub Copilot는 더 이상 문제가 없을 때까지 이러한 문제를 동적으로 해결합니다.
이 프로세스 중에 개발자는 progress.md 파일을 통해 진행 상황을 직접 볼 수 있습니다.
5. 유효성 검사
이전 단계가 완료되면 도구는 다음 검사를 포함하여 추가 검사를 실행합니다.
- 업데이트된 종속성에 존재하는 CVE 보안 취약성
- 코드 동작이 변경되었습니다.
이 도구는 검색된 문제를 자동으로 해결하려고 시도하며 수정 사항을 검토하고 승인할 수 있습니다.
6. 최종 확인 및 요약
유효성 검사 단계가 완료되면 도구는 최종 검사를 실행하고 최종 요약을 제공합니다. 이 단계에서 도구는 다음 작업을 수행합니다.
- 프로젝트를 다시 빌드하고 유효성 검사를 다시 실행합니다.
- 종속성 변경, 파일 차이 및 커밋 로그를 포함하여 summary.md 파일에 포괄적인 업그레이드 요약을 제공합니다.
GitHub Copilot 앱 현대화 - Java용 업그레이드(미리 보기)는 Java 업그레이드에서 많은 수동 작업 및 추측 작업을 제거하여 레거시 코드베이스를 현대화하는 더 안전하고 빠른 경로를 제공하여 기능을 강화하도록 설계되었습니다.
다음 단계
빠른 시작: GitHub Copilot 앱 현대화를 사용하여 Java 프로젝트 업그레이드 - Java용 업그레이드(미리 보기)