다음을 통해 공유


GitHub Copilot 현대화 에이전트를 사용한 일괄 처리 평가

일괄 처리 평가를 사용하면 여러 애플리케이션을 동시에 분석하여 애플리케이션 전체의 현대화 환경을 포괄적으로 볼 수 있습니다. 이 문서에서는 여러 리포지토리를 효율적으로 평가하는 프로세스를 안내합니다.

일괄 처리 평가는 다양한 애플리케이션의 준비 상태와 요구 사항을 한 번에 효율적으로 평가할 수 있으므로 마이그레이션 계획에 특히 유용합니다. 일괄 처리 평가를 사용하여 여러 리포지토리를 동시에 평가하고 각 애플리케이션에 대한 자세한 평가 보고서를 가져올 수 있습니다. 마이그레이션 계획을 지원하기 위해 다음 두 종류의 보고서를 생성합니다.

  • 앱별 보고서: 개별 리포지토리 수준에서 식별되는 모든 현대화 문제에 대한 자세한 인사이트를 제공합니다.
  • 집계된 보고서: 평가된 모든 애플리케이션의 전반적인 관점을 제시하여 요약 인사이트, Azure 서비스, 대상 플랫폼 및 업그레이드 경로에 대한 권장 사항을 제공합니다. 또한 집계된 보고서에는 각 앱 보고서에 쉽게 액세스할 수 있는 바로 가기가 포함되어 있습니다.

일괄 처리 평가는 다음과 같은 이점을 제공합니다.

  • 애플리케이션 간 가시성:

    • 집계된 보고서: 애플리케이션 전체에서 포괄적인 보기를 가져옵니다.
    • 리포지토리 간 분석: 애플리케이션 전체에서 일반적인 패턴 및 종속성을 식별합니다.
    • 우선 순위 지정 인사이트: 즉각적인 주의가 필요한 애플리케이션을 이해합니다.
  • 스케일 및 효율성:

    • 병렬 처리: 클라우드 코딩 에이전트를 사용하여 여러 리포지토리를 동시에 처리합니다.
    • 자동화된 워크플로: 예약된 평가를 위해 CI/CD 파이프라인과 통합합니다.
    • 시간 절약: 총 평가 시간을 몇 주에서 몇 시간으로 줄입니다.

사전 요구 사항

  • CLI를 현대화합니다.
  • 평가하려는 모든 리포지토리에 액세스합니다.
  • GitHub 인증이 구성됩니다(gh auth login).

리포지토리 구성

일괄 처리를 사용하도록 설정하려면 평가하려는 모든 리포지토리를 나열하는 파일을 작업 디렉터리에 만듭니 .github/modernize/repos.json 다.

리포지토리에 대한 적절한 권한이 있는지 확인하거나, 리포지토리를 포크하십시오.

[
  {
    "name": "PhotoAlbum-Java",
    "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
  },
  {
    "name": "PhotoAlbum",
    "url": "https://github.com/Azure-Samples/PhotoAlbum.git"
  },
  {
    "name": "eShopOnWeb",
    "url": "https://github.com/dotnet-architecture/eShopOnWeb.git"
  }
]

리포지토리 구성

각 항목에는 다음이 필요합니다.

  • 이름: 리포지토리의 이름입니다(보고서 및 대시보드에 사용됨).
  • url: HTTPS 형식의 Git 복제 URL입니다.

팁 (조언)

다른 조직의 리포지토리를 포함하고 액세스 권한이 있는 한 다른 인증 방법을 사용할 수 있습니다.

파일 위치

파일을 repos.json.github/modernize/repos.json에 배치해야 합니다.

현대화 에이전트는 일괄 처리 작업을 실행할 때 이 파일을 자동으로 검색합니다.

일괄 평가를 실행하다

다음 두 가지 실행 모드를 사용할 수 있습니다.

  • 로컬 실행: 현대화 에이전트는 로컬 컴퓨터에서 리포지토리를 하나씩 처리합니다. 이 모드는 더 작은 애플리케이션 집합 또는 초기 테스트에 가장 적합합니다.
  • 클라우드 코딩 에이전트 위임: 현대화 에이전트는 클라우드에서 병렬 처리를 위해 GitHub Cloud Coding Agents에 작업을 제출합니다. 이 모드는 다중 리포지토리 시나리오에서 더 빠릅니다.

팁 (조언)

클라우드 코딩 에이전트 위임을 사용하여 모든 리포지토리에서 병렬 실행을 사용하도록 설정합니다. 이 방법은 대규모 포트폴리오에 대한 총 평가 시간을 크게 줄입니다.

대화형 모드(로컬 평가)

  1. 현대화 에이전트를 실행합니다.

    modernize
    
  2. 에이전트는 파일을 검색 repos.json 하고 리포지토리 목록을 표시합니다.

    터미널의 리포지토리 목록을 보여 주는 CLI 현대화 스크린샷

  3. 평가할 리포지토리를 선택하고 키를 눌러 Enter 선택 항목을 확인합니다.

    • 눌러 Ctrl+A 모든 리포지토리를 선택합니다.
    • 화살표 키를 사용하여 탐색하고 눌러 Space 개별 리포지토리를 선택합니다.
  4. 1을 선택합니다. 주 메뉴에서 애플리케이션을 평가합니다.

    터미널의 현대화 메뉴를 보여 주는 CLI 현대화 스크린샷

  5. 평가를 실행하려면 로컬로 평가하거나 클라우드 코딩 에이전트에 위임하도록 선택합니다. 1을 선택합니다. 로컬로 평가합니다.

    Modernize CLI의 터미널 내 평가 메뉴를 보여주는 스크린샷.

  6. 에이전트는 자동으로 다음을 수행합니다.

    • 선택한 모든 리포지토리를 복제합니다.

    • 각 리포지토리에서 하나씩 평가를 실행합니다.

    • 개별 평가 보고서를 생성합니다.

      터미널에서 개별 평가 보고서 생성의 출력을 보여 주는 CLI 현대화 스크린샷

    • 집계된 보고서를 만듭니다.

      터미널에서 집계된 보고서 생성의 출력을 보여 주는 CLI 현대화 스크린샷

  7. 평가가 완료되면 에이전트가 자동으로 집계된 보고서를 엽니다.

    Modernize CLI에서 집계된 보고서의 내용을 보여주는 스크린샷.

대화형 모드(클라우드 코딩 에이전트에 위임)

먼저 각 애플리케이션 리포지토리에서 클라우드 코딩 에이전트를 구성합니다. 클라우드 코딩 에이전트를 구성하려면 샘플 리포지토리를 포크합니다.

.NET 애플리케이션에 대한 구성

.NET Framework 애플리케이션용 Windows에서 실행되도록 구성

기본적으로 Copilot 코딩 에이전트는 Ubuntu Linux 환경에서 실행됩니다. .NET Framework 애플리케이션의 경우 Windows 환경이 필요합니다. 사용하도록 설정하려면 다음 예제와 같이 애플리케이션 리포지토리의 .github/workflows/copilot-setup-steps.yaml 분기에서 main를 구성합니다.

# Windows-based Copilot Setup Steps for .NET tasks
# Note: Windows runners have firewall limitations that may affect some network operations
# Use this workflow for .NET projects that require Windows-specific tooling

name: "Copilot Setup Step (Windows)"

on:
  workflow_dispatch:

jobs:
  copilot-setup-steps:
    runs-on: windows-latest
    permissions:
      contents: read
    steps:
      - name: Checkout code
        uses: actions/checkout@v5

자세한 정보: Copilot 설정 단계를 사용하여 Copilot의 개발 환경 사용자 지정

방화벽 해제

다음 이미지와 같이 리포지토리 설정에서 Copilot 코딩 에이전트의 통합 방화벽을 사용하지 않도록 설정합니다.

방화벽 사용 설정이 해제로 설정된 리포지토리 설정을 보여 주는 GitHub의 스크린샷

Java 애플리케이션에 대한 구성

다음 예제와 같이 리포지토리 설정의 클라우드 코딩 에이전트 섹션에서 GitHub Copilot Modernization MCP Server를 구성합니다.

{
  "mcpServers": {
    "app-modernization": {
      "type": "local",
      "command": "npx",
      "tools": [
        "*"
      ],
      "args": [
        "-y",
        "@microsoft/github-copilot-app-modernization-mcp-server"
      ]
    }
  }
}

MCP 구성 섹션이 강조 표시된 리포지토리 코딩 에이전트 설정을 보여주는 GitHub의 스크린샷

단계

  1. 현대화 에이전트를 실행합니다.

    modernize
    
  2. 에이전트는 파일을 검색 repos.json 하고 리포지토리 목록을 표시합니다.

    터미널의 리포지토리 목록을 보여 주는 CLI 현대화의 스크린샷.

  3. 평가할 리포지토리를 선택하고 키를 눌러 Enter 선택 항목을 확인합니다.

    • 눌러 Ctrl+A 모든 리포지토리를 선택합니다.
    • 화살표 키를 사용하여 탐색하고 눌러 Space 개별 리포지토리를 선택합니다.
  4. 1을 선택합니다. 주 메뉴에서 애플리케이션을 평가합니다.

    터미널의 현대화 메뉴를 보여 주는 CLI 현대화 스크린샷

  5. 평가를 실행하려면 2를 선택합니다 . 클라우드 코딩 에이전트에 위임합니다.

    Modernize CLI의 화면에서 클라우드 코딩 에이전트에게 위임하는 옵션이 선택된 평가 메뉴를 보여 주는 스크린샷

  6. 에이전트는 각 리포지토리에 대한 평가 작업을 클라우드 코딩 에이전트에 자동으로 위임하고 클라우드에서 병렬로 실행합니다.

    터미널에서 클라우드 코딩 에이전트에 대한 평가 위임 진행률의 출력을 보여 주는 CLI 현대화 스크린샷.

    그런 다음 에이전트는 앱별 평가 결과를 로컬로 다시 가져와서 집계된 보고서를 로컬로 생성합니다.

    Modernize CLI의 터미널에 있는 집계 평가 보고서를 보여주는 스크린샷.

  7. 평가가 완료되면 에이전트가 자동으로 집계된 보고서를 엽니다.

비대화형 모드(CLI)

명령 인수를 직접 지정하여 비대화형 모드를 사용할 수도 있습니다. modernize assess 명령을 사용합니다.

로컬에서 평가하십시오:

modernize assess --multi-repo

클라우드 코딩 에이전트를 위임하여 평가:

modernize assess --delegate cloud

자세한 내용은 평가 - CLI 명령을 참조하세요.

집계된 보고서 이해

집계된 보고서는 다음과 같이 평가된 애플리케이션에서 포괄적인 보기를 제공합니다.

대시보드

  • 포트폴리오 상태의 스냅샷: 총 앱, 업그레이드가 필요한 수, 집계 차단 및 문제 수입니다.
  • 기술 배포: 사용 중인 프레임워크 및 공유되는 앱 수입니다.
  • 노력 분포: 전체 마이그레이션이 소규모 또는 대규모 사업인지 여부입니다.

권장 사항

  • Azure 서비스: 현재 종속성을 권장되는 Azure에 매핑합니다. 앱 간 공유 종속성은 한 번 결정되므로 앱별 재작업을 방지할 수 있습니다.
  • 대상 플랫폼: Container Apps 및 AKS와 같은 호스팅 선택을 안내하고 통합 기회를 제공합니다.
  • 업그레이드 경로: 필수 구성 요소로 프레임워크 업그레이드가 필요한 앱을 식별하여 업그레이드 작업을 마이그레이션 작업과 분리합니다.
  • 마이그레이션 웨이브: 준비 상태 및 위험별로 앱을 단계별로 시퀀스합니다. 이 방법을 사용하면 더 어려운 앱이 병렬로 준비되는 동안 조기에 승리할 수 있습니다.

애플리케이션 평가 매트릭스

  • 프레임워크, 대상 플랫폼, 업그레이드 권장 사항, 문제 분석(필수, 잠재적, 선택 사항), 노력 크기 조정 등의 측면에서 각 애플리케이션에 대한 빠른 개요입니다.
  • 필요한 경우 드릴다운을 위한 개별 앱 보고서에 대한 링크입니다.

배치 평가 문제 해결

일반적인 문제

리포지토리 액세스 오류:

  • 를 사용하여 GitHub 인증을 확인합니다 gh auth status.
  • 에 나열된 repos.json모든 리포지토리에 액세스할 수 있는지 확인합니다.

복제 실패:

  • 리포지토리 URL repos.json 이 올바르고 액세스할 수 있는지 확인합니다.
  • 모든 리포지토리에 대한 올바른 액세스 권한이 있는지 확인합니다.
  • 네트워크 연결 및 VPN 설정을 확인합니다.

평가 실패:

  • 리포지토리에 유효한 Java 또는 .NET 프로젝트가 포함되어 있는지 확인합니다.
  • 빌드 파일(예: pom.xml, build.gradle또는 *.csproj*.sln.)이 있는지 확인합니다.
  • 콘솔 출력에서 오류 메시지를 검토합니다.

클라우드 코딩 에이전트 위임 문제:

  • GitHub Actions 워크플로를 만들 수 있는 올바른 권한이 있는지 확인합니다.
  • 조직에 대한 GitHub Actions 권한 및 할당량 제한을 확인합니다.
  • .NET Framework 앱의 경우 Windows 실행기 구성이 제대로 설정되었는지 확인합니다.
  • MCP 서버 구성을 확인합니다.

다음 단계

일괄 처리 평가를 완료한 후 다음을 수행할 수 있습니다.

현대화 워크플로를 계속합니다.

자세한 정보:

피드백 제공하기

우리는 당신의 입력을 소중히! 일괄 처리 평가 또는 현대화 에이전트에 대한 피드백이 있는 경우 github-copilot-appmod 리포지토리에서 문제를 만들 거나 GitHub Copilot 현대화 피드백 양식을 사용합니다.