이 빠른 시작에서는 GitHub Copilot 앱 현대화를 사용하여 Java 프로젝트를 평가하고 마이그레이션하는 방법을 보여줍니다. 이 빠른 시작에서는 확장을 설치 및 구성한 다음 샘플 프로젝트를 평가하고 마이그레이션합니다. 예를 들어 미리 정의된 작업을 사용하여 사용자 이름과 암호 대신 Azure 관리 ID를 사용하도록 Azure SQL 데이터베이스 연결을 업데이트합니다.
다음 비디오에서는 GitHub Copilot 앱 현대화에서 AppCAT 을 사용하여 Azure로 마이그레이션하기 위한 Java 프로젝트를 평가하는 방법을 보여 줍니다.
Prerequisites
- 활성 구독이 있는 Azure 계정. 체험 계정 만들기
- 모든 플랜에 따라 활성 GitHub Copilot 구독이 있는 GitHub 계정입니다.
- 다음 IDE 중 하나입니다.
-
Visual Studio Code의 최신 버전입니다. 버전 1.101 이상이어야 합니다.
- Visual Studio Code의 GitHub Copilot입니다. 설치 지침은 Visual Studio Code에서 GitHub Copilot 설정을 참조하세요. Visual Studio Code 내에서 GitHub 계정에 로그인해야 합니다.
- GitHub Copilot 앱 현대화. 설치 후 Visual Studio Code를 다시 시작합니다.
-
IntelliJ IDEA의 최신 버전입니다. 버전 2023.3 이상이어야 합니다.
- GitHub 코필로트. 버전 1.5.59 이상이어야 합니다. 자세한 지침은 IntelliJ IDEA에서 GitHub Copilot 설정을 참조하세요. IntelliJ IDEA 내에서 GitHub 계정에 로그인해야 합니다.
- GitHub Copilot 앱 현대화. 설치 후 IntelliJ IDEA를 다시 시작합니다. GitHub Copilot가 설치되지 않은 경우 GitHub Copilot 앱 현대화를 직접 설치할 수 있습니다.
-
Visual Studio Code의 최신 버전입니다. 버전 1.101 이상이어야 합니다.
- Java 21 이상.
- Java 프로젝트를 빌드하기 위한 Maven 또는 Gradle입니다.
비고
Gradle을 사용하는 경우 Gradle 래퍼 버전 5 이상만 지원됩니다. Kotlin DSL(도메인별 언어)은 지원되지 않습니다.
이 함수 My Tasks 는 IntelliJ IDEA에 대해 아직 지원되지 않습니다.
JDK 및 종속성 버전 업그레이드
JDK 버전을 업그레이드하는 방법에는 두 가지가 있습니다. 두 가지 방법 모두 사이드바에서 액세스할 수 있는 Visual Studio Code의 GitHub Copilot 앱 현대화 창을 사용합니다.
JDK 버전을 업그레이드하는 한 가지 방법은 빠른 시작 섹션에서 런타임 및 프레임워크 업그레이드를 선택하는 것입니다. 또 다른 방법은 TASKS - 업그레이드 작업 섹션에서 업그레이드된 Java 런타임 작업을 실행하는 것입니다. 자세한 내용은 빠른 시작: GitHub Copilot 앱 현대화를 사용하여 Java 프로젝트 업그레이드를 참조하세요.
Spring Framework 또는 타사 종속성을 업그레이드하려면 TASKS - Upgrade Tasks 섹션에서 Java Framework 업그레이드 태스크를 실행합니다. 자세한 내용은 GitHub Copilot 앱 현대화를 사용하여 Java 프레임워크 또는 타사 종속성 업그레이드를 참조하세요.
클라우드 준비 상태 평가
다음 단계를 사용하여 솔루션 평가를 사용하여 마이그레이션 프로세스를 시작합니다. 이 평가는 클라우드 준비 과제가 무엇인지, 그리고 클라우드 준비 과제가 얼마나 영향력이 있는지를 이해하는 데 도움이 됩니다. 또한 권장 솔루션을 제공합니다. 솔루션 권장 사항에는 Azure 리소스를 설정하고, 구성을 추가하고, 코드를 변경하는 참조가 포함됩니다.
Java 마이그레이션 부조종사 샘플 리포지토리를 복제한 다음 원본 분기에 체크 아웃합니다.
Visual Studio Code의 샘플 리포지토리에서 mi-sql-public-demo 프로젝트 폴더를 엽니다.
사이드바에서 GitHub Copilot 앱 현대화 창을 선택합니다. 여기서 평가 섹션에서 Azure로 마이그레이션 또는 평가 실행을 선택할 수 있습니다.
에이전트 모드가 있는 GitHub Copilot 채팅 창이 열리고 현대화 평가자를 호출하여 앱 현대화 평가를 실행합니다. 계속을 선택하여 확인합니다.
이제 현대화 평가자가 appcat.log 파일을 엽니다. 이 파일은 앱 평가를 수행하는 AppCAT을 실행하기 위한 로그를 보여 줍니다. 계속을 선택하여 다시 확인합니다.
현대화 평가자는 먼저 로컬 환경을 확인합니다. AppCAT 및 해당 종속성이 설치되지 않은 경우 에이전트에서 설치하는 데 도움이 됩니다. 설치 후 에이전트는 AppCAT을 호출하여 현재 프로젝트를 평가합니다. 이 단계를 완료하는 데 몇 분 정도 걸릴 수 있습니다.
분석이 완료되면 현대화 평가자는 열린 평가 보고서에서 클라우드 준비 문제에 대한 분류된 보기를 생성합니다.
요약 보고서를 검토할 때 문제 데이터베이스 마이그레이션(Microsoft SQL)의 솔루션 목록에서 Azure SQL Database로 마이그레이션(Spring)을 선택할 수 있습니다. 그런 다음 실행 태스크 를 선택하여 코드 수정 단계로 이동합니다.
미리 정의된 작업 적용
마이그레이션의 경우 Copilot는 Azure로 마이그레이션할 때 발생할 수 있는 일반적인 마이그레이션 시나리오에 대해 미리 정의된 작업을 제공합니다. 예를 들어 mi-sql-public-demo 샘플을 사용하면 Microsoft SQL(데이터베이스 마이그레이션) 작업이 사용자 이름과 암호 대신 Azure 관리 ID를 사용하도록 Azure SQL 데이터베이스 연결을 변경합니다.
미리 정의된 작업을 적용하려면 다음 단계를 사용합니다.
평가 보고서에서작업 실행을 선택합니다. 에이전트 모드가 선택된 코필로트 채팅 창이 열립니다.
Copilot 에이전트는 앱 현대화를 위해 다양한 도구를 사용하며 각 도구를 계속 진행하려면 확인이 필요할 수 있습니다. plan.md 및 progress.md 먼저 생성되며 필요한 경우 plan.md 검토하고 변경할 수 있습니다.
continue를 수동으로 입력하여 확인한 다음 마이그레이션 프로세스를 시작합니다.
코드를 변경하기 전에 에이전트는 버전 관리 시스템의 상태를 확인하고 마이그레이션용 새 브랜치를 체크아웃합니다.
계속을 반복해서 선택하거나 입력하여 도구 또는 명령의 사용을 확인한 후, 코드 변경이 완료될 때까지 기다립니다.
유효성 검사 반복
코드 변경이 완료되면 수동으로 입력을 계속 진행하여 유효성 검사 및 반복 루프를 수정합니다. 이 루프에는 다음 5개의 부분이 포함됩니다.
-
Validate-CVEs도구를 적용하세요. 이 도구는 현재 종속성에서 CVE(일반 취약성 및 노출)를 검색하여 수정합니다. -
Build-Project도구를 적용하세요. 이 도구는 빌드 오류를 해결하려고 시도합니다. -
Consistency-Validation도구를 적용하세요. 이 도구는 기능 일관성을 위해 코드를 분석합니다. -
Run-Test도구를 적용하세요. 이 도구는 단위 테스트 실패에 대한 프로젝트를 분석하고 이를 해결하기 위한 계획을 자동으로 생성합니다. 이 도구는Run-Test단위 테스트를 반복적으로 실행하고 오류를 수정합니다. -
Completeness-Validation도구를 적용하세요. 이 도구는 초기 코드 마이그레이션에서 누락된 마이그레이션 항목을 catch하고 수정합니다.
모든 프로세스가 완료되면 continue를 입력하여 최종 단계인 마이그레이션 요약을 생성합니다. 코드 변경 내용을 검토하고 유지를 선택하여 확인합니다.
단위 테스트 사례 생성
단위 테스트 사례를 생성하려면 다음 단계를 사용합니다.
사이드바에서 GitHub Copilot 앱 현대화 창을 선택합니다.
작업 섹션에서 품질 및 보안 작업을 연 다음 단위 테스트 사례 생성을 선택합니다.
에이전트는 단위 테스트를 생성하고 생성 전후 테스트 결과를 표시하는 TestReport 를 만듭니다. 자세한 내용은 빠른 시작: GitHub Copilot 앱 현대화를 사용하여 단위 테스트 생성을 참조하세요.