Java 개발자를 위한 GitHub Copilot 현대화

이 문서에서는 애플리케이션 현대화에 대한 엔드 투 엔드 지원을 제공하는 AI 도우미인 GitHub Copilot 현대화에 대해 설명합니다.

기업은 개발 주기 내내 기술적인 부채를 처리하는 경우가 많습니다. Java 런타임, 프레임워크 및 종속성을 업그레이드하는 것은 일반적이지만 리소스를 많이 사용하는 작업입니다. 동시에 많은 조직에서는 애플리케이션 자산을 클라우드로 마이그레이션하고 현대화하는 것을 목표로 하고 있습니다. 이 프로세스에는 다음이 포함됩니다.

  • 코드, 구성 및 종속성의 현재 상태 평가
  • Azure 리소스 계획
  • 성공적인 마이그레이션을 가능하게 하기 위한 문제 해결

GitHub Copilot 에이전트 모드를 기반으로 하는 GitHub Copilot 현대화는 Azure에서 애플리케이션을 실행하기 위한 업계 모범 사례를 통합하면서 일반적인 업그레이드 및 마이그레이션 시나리오에 미리 정의된 작업을 제공합니다. 동시에 팀은 자체 코딩 표준, 조직 정책 및 기존 사례를 현대화 프로세스에 주입할 수 있습니다.

주요 기능 한눈에 보기

  • 애플리케이션 평가 및 계획: 코드, 구성 및 종속성을 분석합니다. 평가에서 배포에 이르기까지 현대화 프로세스의 모든 작업을 시각화하는 데 도움이 됩니다.
  • 코드 변환: 업그레이드 및 마이그레이션 시나리오에 대한 코드 수정을 제안하고 적용합니다.
  • 빌드, 패치 및 테스트: 수정 후 프로젝트가 성공적으로 빌드되는지 확인하고 필요한 경우 수정을 적용합니다. CVE(Common Vulnerabilities and Exposures) 검사를 수행하여 보안 취약성에 대한 노출을 줄입니다. 기존 단위 테스트를 마이그레이션하고 새 단위 테스트를 생성하여 현대화 결과의 유효성을 검사하고 테스트 범위를 개선합니다.
  • 컨테이너화 및 배포: Azure에 대한 배포를 자동화하기 위해 앱 컨테이너화 및 기타 아티팩트용 Dockerfile을 생성합니다.

GitHub Copilot 현대화는 GitHub Copilot AI 기반 기능을 통합하여 복잡한 업그레이드 단계를 자동화합니다. Maven 및 Gradle 프로젝트를 모두 지원하고 Java 버전 8, 11, 17, 21 및 25 간의 업그레이드를 대상으로 합니다. 이 도구는 Spring Boot 프레임워크를 사용하는 애플리케이션을 현대화하는 데 특히 중점을 두고 있습니다. 업그레이드 프로세스는 모든 로그와 출력을 표시하여 제어를 유지하고 투명도를 보장합니다.

팁 (조언)

Java 런타임 업그레이드는 현대화의 일부일 뿐입니다. 이전 JDK에서 최적이었던 JVM 플래그는 오래되거나 사용되지 않거나 최신 JDK의 성능에 해로울 수 있습니다. 업그레이드한 후 Azure Java 명령 시작 관리자(jaz)는 새 JDK 버전 및 클라우드 환경에 맞게 조정된 JVM 플래그를 자동으로 적용할 수 있으므로 부실 튜닝을 수행하지 않습니다. java 명령을 시작 스크립트 또는 Dockerfile에서 해당 명령으로 jaz 바꿔 이점을 얻을 수 있습니다.

다음을 포함하여 클라우드 준비 마이그레이션 문제에 대한 개요를 보려면 앱 평가를 사용하여 마이그레이션 과정을 시작합니다.

  • Azure 리소스 설정 지침
  • 다음 모범 사례에 대한 권장 사항
  • 애플리케이션 코드 변경에 대한 권장 사항

코드 변경이 필요한 시나리오에서 GitHub Copilot 현대화는 수정 단계를 안내합니다. 이 단계에서는 다음과 같은 일반적인 문제에 대해 미리 정의된 작업을 사용할 수 있습니다.

  • 암호 기반 인증에서 관리 ID로 전환
  • AWS(Amazon Web Services) S3에서 Azure Blob Storage로 이동

현재 GitHub Copilot 현대화에서 사용할 수 있는 미리 정의된 작업에 대한 자세한 내용은 미리 정의된 작업을 참조하세요.

개발에 관해서, 기업은 종종 엄격한 프로세스와 제어를 가지고, 이는 사용자 지정 기술이 들어오는 곳이다. 자세한 내용은 Quickstart: GitHub Copilot 현대화를 위한 고유한 기술 만들기 및 적용 참조하세요.

사용자 지정 기술은 이전에 마이그레이션된 애플리케이션에서 코드 커밋을 참조할 수 있습니다. 이러한 기술은 다른 앱에서 유사한 문제에 대한 수정 가이드 역할을 하므로 Copilot가 여러 코드베이스에서 입증된 패턴을 적용할 수 있습니다. 마이그레이션이 성공할 때마다 기술 자료가 확장되어 향후 수정이 가속화되고 수동 작업이 줄어듭니다.

GitHub Copilot 현대화에는 다음과 같은 특수 에이전트도 포함됩니다.

  • 앱이 성공적으로 빌드되었는지 확인
  • CVE를 해결하여 기술 부채 줄이기
  • 단위 테스트를 사용하여 동작 무결성 유효성 검사

자세한 내용은 GitHub Copilot 현대화 Java 유틸리티를 참조하세요.

현대화는 단순히 코드를 업그레이드하는 것이 아니라 클라우드용 애플리케이션을 준비하는 것입니다. Azure App Service, Azure Container Apps, AKS(Azure Kubernetes Service) 또는 AKS 자동을 대상으로 하든, Copilot를 사용하면 더 빠르고 자신있게 사용할 수 있습니다.

참고하십시오

GitHub Copilot 현대화에 대한 자주 묻는 질문.