Udostępnij za pośrednictwem


Ocena usługi Batch za pomocą agenta modernizacji narzędzia GitHub Copilot

Ocena zbiorcza umożliwia jednoczesne analizowanie wielu aplikacji, zapewniając kompleksowy widok krajobrazu modernizacji w Twoich aplikacjach. Ten artykuł przeprowadzi Cię przez proces efektywnego oceniania wielu repozytoriów.

Ocena zbiorcza jest szczególnie cenna w przypadku planowania migracji, ponieważ pozwala na efektywne przeprowadzenie jednoczesnej oceny gotowości i wymagań różnych aplikacji. Korzystając z oceny wsadowej, można ocenić różne repozytoria w tym samym czasie i uzyskać szczegółowe raporty oceny dla każdej aplikacji. Tworzy dwa rodzaje raportów do obsługi planowania migracji:

  • Raport dla aplikacji: zawiera szczegółowe informacje na temat wszystkich problemów z modernizacją zidentyfikowanych na poziomie poszczególnych repozytoriów.
  • Raport zagregowany: przedstawia ogólną perspektywę wszystkich ocenionych aplikacji, oferując podsumowanie szczegółowych informacji, rekomendacje dotyczące usług platformy Azure, platform docelowych i ścieżek uaktualniania. Ponadto zagregowany raport zawiera skróty umożliwiające łatwy dostęp do każdego raportu aplikacji.

Ocena zbiorcza zapewnia następujące korzyści:

  • Widoczność między aplikacjami:

    • Zagregowane raporty: uzyskiwanie kompleksowego widoku w aplikacjach.
    • Analiza między repozytoriami: identyfikowanie typowych wzorców i zależności między aplikacjami.
    • Szczegółowe informacje o priorytetyzacji: dowiedz się, które aplikacje wymagają natychmiastowej uwagi.
  • Skalowanie i wydajność:

    • Przetwarzanie równoległe: używaj agentów kodowania w chmurze do przetwarzania wielu repozytoriów jednocześnie.
    • Zautomatyzowane przepływy pracy: integracja z pipeline'ami CI/CD dla zaplanowanej oceny.
    • Oszczędności czasu: zmniejsz całkowity czas oceny od tygodni do godzin.

Wymagania wstępne

Konfigurowanie repozytoriów

Aby włączyć ocenę wsadową, utwórz plik w katalogu roboczym .github/modernize/repos.json zawierający listę wszystkich repozytoriów, które chcesz ocenić.

Upewnij się, że masz odpowiednie uprawnienia do repozytoriów lub zforkuj je.

[
  {
    "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"
  }
]

Konfiguracja repozytorium

Każdy wpis wymaga:

  • name: przyjazna nazwa repozytorium (używana w raportach i pulpitach nawigacyjnych).
  • url: adres URL klonowania usługi Git w formacie HTTPS.

Wskazówka

Możesz uwzględnić repozytoria z różnych organizacji i używać różnych metod uwierzytelniania, o ile masz dostęp.

Lokalizacja pliku

Plik należy umieścić repos.json w folderze .github/modernize/repos.json.

Agent modernizacji automatycznie wykrywa ten plik podczas uruchamiania operacji wsadowych.

Uruchom ocenę wsadową

Dostępne są dwa tryby wykonywania:

  • Wykonywanie lokalne: agent modernizacji przetwarza repozytoria jeden po drugim na komputerze lokalnym. Ten tryb działa najlepiej w przypadku mniejszego zestawu aplikacji lub do testowania początkowego.
  • Delegowanie agenta kodowania w chmurze: agent modernizacji przesyła zadania do agentów kodowania w chmurze w usłudze GitHub na potrzeby przetwarzania równoległego w chmurze. Ten tryb jest znacznie szybszy w scenariuszach obejmujących wiele repozytoriów.

Wskazówka

Korzystając z delegowania agenta kodowania w chmurze, można włączyć równoległe wykonywanie we wszystkich repozytoriach. Takie podejście znacznie zmniejsza całkowity czas oceny dla dużych portfeli.

Tryb interaktywny (ocena lokalna)

  1. Uruchom agenta modernizacji:

    modernize
    
  2. Agent wykrywa repos.json plik i wyświetla listę repozytoriów:

    Zrzut ekranu Modernize CLI pokazujący listę repozytoriów w terminalu.

  3. Wybierz repozytoria do oceny, a następnie naciśnij Enter , aby potwierdzić wybór.

    • Naciśnij Ctrl+A aby wybrać wszystkie repozytoria.
    • Użyj klawiszy strzałek , aby nawigować i naciskać Space , aby wybrać poszczególne repozytoria.
  4. Wybierz pozycję 1. Ocena aplikacji z menu głównego.

    Zrzut ekranu Modernize CLI pokazujący menu modernizacji w terminalu.

  5. Aby uruchomić ocenę, wybierz ocenę lokalną lub deleguj do agentów kodowania w chmurze. Wybierz pozycję 1. Ocena lokalna.

    Zrzut ekranu Modernize CLI pokazujący menu oceny w terminalu.

  6. Agent automatycznie:

    • Klonuje wszystkie wybrane repozytoria.

    • Uruchamia ocenę w każdym repozytorium po kolei.

    • Generuje poszczególne raporty oceny.

      Zrzut ekranu Modernize CLI, który pokazuje wynik generowania indywidualnego raportu oceny w terminalu.

    • Tworzy zagregowany raport.

      Zrzut ekranu narzędzia Modernize CLI pokazujący wynik generowania zagregowanego raportu w terminalu.

  7. Po zakończeniu oceny agent automatycznie otwiera zagregowany raport.

    Zrzut ekranu Modernize CLI przedstawiający zawartość zagregowanego raportu.

Tryb interaktywny (delegowanie do agentów kodowania w chmurze)

Najpierw skonfiguruj agentów kodowania w chmurze w każdym repozytorium aplikacji. Aby skonfigurować agentów kodowania w chmurze, rozwidnij przykładowe repozytoria.

Konfiguracja aplikacji .NET

Konfigurowanie uruchamiania w systemie Windows dla aplikacji .NET Framework

Domyślnie agent kodowania Copilot działa w środowisku systemu Ubuntu Linux. W przypadku aplikacji .NET Framework potrzebne jest środowisko systemu Windows. Aby ją włączyć, skonfiguruj .github/workflows/copilot-setup-steps.yaml w main gałęzi repozytorium aplikacji, jak pokazano w poniższym przykładzie:

# 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

Dowiedz się więcej: Dostosowywanie środowiska deweloperskiego Copilot za pomocą kroków konfiguracji Copilot

Wyłącz zaporę

Wyłącz zintegrowaną zaporę agenta kodowania Copilot w ustawieniach repozytorium, jak pokazano na poniższej ilustracji:

Zrzut ekranu usługi GitHub przedstawiający ustawienia repozytorium z ustawieniem Włącz zaporę ustawioną na Wyłączone.

Konfiguracja aplikacji Java

Skonfiguruj usługę GitHub Copilot Modernizacja serwera MCP w sekcji Agent kodowania w chmurze ustawień repozytorium, jak pokazano w poniższym przykładzie:

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

Zrzut ekranu usługi GitHub przedstawiający ustawienia agenta kodowania repozytorium z wyróżnioną sekcją konfiguracji MCP.

Kroki

  1. Uruchom agenta modernizacji:

    modernize
    
  2. Agent wykrywa repos.json plik i wyświetla listę repozytoriów:

    Zrzut ekranu Modernize CLI pokazujący listę repozytoriów w terminalu.

  3. Wybierz repozytoria do oceny, a następnie naciśnij Enter , aby potwierdzić wybór.

    • Naciśnij Ctrl+A aby wybrać wszystkie repozytoria.
    • Użyj klawiszy strzałek , aby nawigować i naciskać Space , aby wybrać poszczególne repozytoria.
  4. Wybierz pozycję 1. Ocena aplikacji z menu głównego.

    Zrzut ekranu Modernize CLI pokazujący menu modernizacji w terminalu.

  5. Aby uruchomić ocenę, wybierz pozycję 2. Delegowanie do agentów kodowania w chmurze.

    Zrzut ekranu Modernize CLI pokazujący menu oceny z wybraną opcją Delegowanie do agentów kodowania w chmurze.

  6. Agent automatycznie deleguje zadania oceny dla każdego repozytorium do agentów kodowania w chmurze i wykonuje je równolegle w chmurze.

    Zrzut ekranu narzędzia Modernize CLI pokazujący dane wyjściowe z postępu delegowania oceny do agentów kodowania w chmurze w terminalu.

    Następnie agent pobiera wyniki oceny dla aplikacji z powrotem do środowiska lokalnego i generuje zagregowany raport lokalnie.

    Zrzut ekranu Modernize CLI, który pokazuje raporty z agregacji ocen w terminalu.

  7. Po zakończeniu oceny agent automatycznie otwiera zagregowany raport.

Tryb nieinterakcyjny (CLI)

Możesz również użyć trybu nieinterakcyjnego, określając argumenty poleceń bezpośrednio. Użyj polecenia modernize assess:

Ocena lokalna:

modernize assess --multi-repo

Oceń, zlecając zadania agentom kodowania w chmurze:

modernize assess --delegate cloud

Aby uzyskać więcej informacji, zobacz assess — polecenia CLI.

Opis zagregowanego raportu

Raport zagregowany zapewnia kompleksowy widok dla ocenianych aplikacji w następujący sposób:

Pulpit nawigacyjny

  • Migawka kondycji portfela: łączna liczba aplikacji, liczba uaktualnień i zagregowanych blokerów i problemów.
  • Dystrybucja technologii: jakie struktury są używane i ile aplikacji je udostępnia.
  • Rozkład nakładu pracy: czy ogólna migracja jest małym czy dużym zadaniem.

Recommendations

  • Usługi platformy Azure: mapuje bieżące zależności na zalecane odpowiedniki platformy Azure. Wspólne zależności między aplikacjami są ustalane raz, więc unikasz ponownego opracowywania w poszczególnych aplikacjach.
  • Platforma docelowa: doradza w wyborze hostingu, takie jak aplikacje kontenerowe i AKS, oraz identyfikuje możliwości konsolidacji.
  • Ścieżka aktualizacji: określa, które aplikacje wymagają aktualizacji frameworku jako wymogu wstępnego, oddzielając proces aktualizacji od procesu migracji.
  • Fale migracji: sekwencjonuje aplikacje według gotowości i ryzyka do faz. Takie podejście umożliwia wczesne zwycięstwa, podczas gdy trudniejsze aplikacje są przygotowane równolegle.

Macierz oceny aplikacji

  • Krótkie omówienie każdej aplikacji pod kątem aspektów platformy, platformy docelowej, rekomendacji dotyczącej uaktualniania, podziału problemu (obowiązkowego, potencjalnego, opcjonalnego), rozmiaru nakładu pracy i nie tylko.
  • Linki do poszczególnych raportów aplikacji w celu przechodzenia do szczegółów w razie potrzeby.

Rozwiązywanie problemów z oceną wsadowej

Typowe problemy

Błędy dostępu do repozytorium:

  • Zweryfikuj uwierzytelnianie w usłudze GitHub przy użyciu polecenia gh auth status.
  • Upewnij się, że masz dostęp do wszystkich repozytoriów wymienionych w pliku repos.json.

Błędy klonowania:

  • Sprawdź, czy adresy URL repozytorium w systemie repos.json są poprawne i dostępne.
  • Upewnij się, że masz odpowiednie uprawnienia dostępu dla wszystkich repozytoriów.
  • Sprawdź łączność sieciową i ustawienia sieci VPN.

Błędy oceny:

  • Sprawdź, czy repozytorium zawiera prawidłowe projekty Java lub .NET.
  • Sprawdź, czy istnieją pliki kompilacji, takie jak pom.xml, build.gradle, *.csprojlub *.sln.
  • Przejrzyj komunikaty o błędach w danych wyjściowych konsoli.

Problemy z delegowaniem agenta kodowania w chmurze:

  • Upewnij się, że masz odpowiednie uprawnienia do tworzenia przepływów pracy funkcji GitHub Actions.
  • Sprawdź uprawnienia i limity przydziałów funkcji GitHub Actions dla twojej organizacji.
  • W przypadku aplikacji .NET Framework upewnij się, że konfiguracja uruchamiania systemu Windows jest poprawnie ustawiona.
  • Sprawdź konfigurację serwera MCP.

Następne kroki

Po zakończeniu oceny wsadowej możesz:

Kontynuuj proces modernizacji:

Dowiedz się więcej:

Prześlij opinię

Twoja opinia jest dla nas cenna! Jeśli masz jakiekolwiek opinie dotyczące oceny wsadowej lub agenta modernizacji, utwórz problem w repozytorium github-copilot-appmod lub użyj formularza opinii o modernizacji gitHub Copilot.