Plan Batch z agentem modernizacyjnym GitHub Copilot

Plan usługi Batch umożliwia generowanie planów modernizacji dla wielu repozytoriów przy użyciu jednego przepływu pracy i wspólnego celu modernizacji. W tym artykule przedstawiono sposób tworzenia spójnych planów w wielu aplikacjach przed rozpoczęciem wykonywania.

Korzystając z planu zbiorczego, możesz:

  • Twórz plany dla wielu aplikacji w jednym przepływie pracy krok po kroku.
  • Zastosuj spójny cel modernizacji w repozytoriach.
  • Użyj wyników oceny jako kontekstu , aby poprawić jakość planu.
  • Przed wykonaniem przejrzyj plany i zdecyduj, które repozytoria mają najpierw przeprowadzić modernizację.

Plan usługi Batch zapewnia następujące korzyści:

  • Spójność i kontrola:

    • Wspólna intencja: rozpocznij od jednego polecenia modernizacji we wszystkich repozytoriach.
    • Porównywalne dane wyjściowe: przejrzyj plany obok siebie przed ich wykonaniem.
    • Elastyczne uściślenie: umożliwia edytowanie każdego wygenerowanego planu w celu odzwierciedlenia potrzeb specyficznych dla repozytorium.
  • Planowanie na dużą skalę:

    • Widoczność portfela: dowiedz się, jak to samo żądanie odnosi się do różnych aplikacji.
    • Przygotowanie wielokrotnego użytku: użyj ponownie tej samej listy repozytoriów i wyników oceny z wcześniejszych etapów.
    • Szybsze podejmowanie decyzji: najpierw wygeneruj plany, a następnie wykonaj tylko zatwierdzone repozytoria.

Wymagania wstępne

  • Modernizuj interfejs wiersza polecenia.
  • Dostęp do wszystkich repozytoriów, które chcesz zaplanować.
  • Skonfigurowano uwierzytelnianie GitHub (gh auth login).
  • Ukończona ocena zbiorcza (zalecana), jeśli chcesz, aby agent korzystał z ustaleń z oceny jako kontekstu planowania.

Wskazówka

Ocena zbiorcza nie jest wymagana, ale zwykle pozwala opracować dokładniejsze plany, które można wdrożyć, ponieważ agent może uwzględniać wykryte problemy i możliwości migracji.

Konfigurowanie repozytoriów

Agent modernizacji obsługuje wiele sposobów określania repozytoriów, które chcesz zaplanować:

  • Bieżący folder: utwórz plan dla projektu w bieżącym katalogu roboczym.
  • Wprowadzanie ręczne: Wprowadź ścieżkę katalogu lokalnego lub zdalne adresy URL Git bezpośrednio.
  • Plik konfiguracji repozytorium: użyj pliku konfiguracji JSON zawierającego listę wszystkich repozytoriów.

Plik konfiguracji repozytorium

W przypadku operacji wsadowych w wielu repozytoriach utwórz plik konfiguracji JSON, aby wyświetlić listę wszystkich repozytoriów. Na przykład utwórz plik w .github/modernize/repos.json w katalogu roboczym lub podaj ścieżkę niestandardową.

Format (tablica repozytoriów):

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

Każdy wpis repozytorium obsługuje następujące pola:

Pole Opis Required
name Przyjazna nazwa repozytorium (używana w raportach i pulpitach nawigacyjnych). Yes
url Adres URL klonowania usługi Git w formacie HTTPS lub SSH. Jeden z url lub path

Wskazówka

Możesz użyć tego samego pliku repos.json w przepływach oceny wsadowej, planowania wsadowego i aktualizacji wsadowej.

Agent modernizacji automatycznie wykrywa plik repos.json w .github/modernize/repos.json po wybraniu opcji Z pliku konfiguracji w trybie interaktywnym. Możesz również podać ścieżkę niestandardową.

Jak działa plan zbiorczy

Przebieg planowania wsadowego:

  1. Wybór repozytorium: wybierz repozytoria, które chcesz uwzględnić.
  2. Wybór kontekstu: opcjonalnie użyj dostępnych raportów oceny jako danych wejściowych.
  3. Definicja monitu: opisz cel modernizacji raz i zastosuj go w repozytoriach.
  4. Wyjaśnienie: Odpowiedz na wszelkie pytania dotyczące działań następczych agenta.
  5. Generowanie planu: agent tworzy plan dla każdego wybranego repozytorium.

Każdy wygenerowany plan jest zapisywany w repozytorium docelowym i można go przejrzeć lub edytować przed wykonaniem.

Uruchom plan wsadowy

Po skonfigurowaniu repozytoriów rozpocznij proces planowania wsadowego.

Tryb interaktywny

  1. Uruchom agenta modernizacji:

    modernize
    
  2. Wybierz pozycję Plan z menu głównego.

    ○ How would you like to modernize your app?
    
        Assess
        Analyze modernization readiness across one or multiple applications
      > Plan
        Generate a structured plan to guide the agent
        Execute
        Run the tasks defined in the modernization plan
    
      Or select a quick-start scenario:
    
        Upgrade
            Upgrade runtimes and frameworks across one or multiple applications
    
  3. Wybierz sposób określania repozytoriów docelowych. Wybierz pozycję Z pliku konfiguracji , aby użyć repos.json pliku.

    ○ Choose target repositories
    
        1. Current folder
          /Users/username/project
        2. Manual input
          Enter local path or remote URL
      > 3. From a config file
          /path/to/.github/modernize/repos.json
    

    Wskazówka

    Możesz również wybrać Ręczne wprowadzanie, aby bezpośrednio wprowadzić ścieżki lokalne lub zdalne adresy URL Git, albo Bieżący folder, aby zaplanować pracę nad projektem w bieżącym katalogu.

  4. repos.json Jeśli plik zostanie wykryty w domyślnej lokalizacji, agent automatycznie go zapełni. W przeciwnym razie wprowadź ścieżkę do pliku konfiguracji i naciśnij klawisz Enter.

  5. Wszystkie repozytoria są domyślnie zaznaczone. Usuń zaznaczenie wszystkich repozytoriów, które chcesz pominąć, a następnie naciśnij klawisz Enter , aby potwierdzić wybór.

    • Użyj klawiszy strzałek , aby nawigować i naciskać spację, aby przełączać poszczególne repozytoria.
  6. Wybierz 1. Zachowaj plan lokalnie, aby wygenerować plany na swoim komputerze, lub wybierz 2. Prześlij do agenta chmurowego, aby agent chmurowy je wygenerował. Opcja 2 jest eksperymentalna.

  7. Wprowadź nazwę planu lub naciśnij klawisz Enter , aby użyć wartości domyślnej.

  8. Wprowadź cel modernizacji jako podpowiedź. Przykład:

    • upgrade to Spring Boot 3 and prepare for Azure deployment
    • migrate the database to Azure PostgreSQL
    • containerize the application and deploy to Azure Container Apps
  9. Naciśnij klawisz Enter, aby wygenerować plany.

  10. Agent automatycznie:

    • Klonuje każde wybrane repozytorium lub przesyła zadanie do agenta w chmurze dla każdego repozytorium.
    • Generuje plan lokalnie dla każdego repozytorium lub PR z planem dla każdego repozytorium.

Następne kroki

Po utworzeniu planu wsadowego przejrzyj plany i wykonaj je za pomocą polecenia execute:

Prześlij opinię

Jeśli masz uwagi na temat planu wsadowego lub agenta modernizacji, utwórz zgłoszenie w repozytorium github-copilot-appmod lub skorzystaj z formularza opinii dotyczących modernizacji GitHub Copilot.