Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Agent modernizacji Copilot w usłudze GitHub zapewnia zarówno interakcyjne, jak i nieinterakcyjne tryby modernizacji aplikacji.
Tryby poleceń
Tryb interaktywny
Uruchom interaktywny interfejs użytkownika tekstu (TUI) na potrzeby modernizacji z przewodnikiem:
modernize
Tryb interaktywny zapewnia:
- Nawigacja oparta na menu za pośrednictwem przepływu pracy modernizacji.
- Wizualne wskaźniki planowania i postępu.
- Monity z przewodnikiem dotyczące opcji konfiguracji.
- Interfejs wyboru wielu repozytoriów.
Tryb nieinterakcyjny
Wykonaj określone polecenia bezpośrednio na potrzeby automatyzacji i skryptów:
modernize <command> [options]
Użyj trybu nieinterakcyjnego, gdy:
- Integracja z potokami ciągłej integracji/ciągłego wdrażania.
- Automatyzowanie operacji wsadowych.
- Skrypty przepływów pracy modernizacji.
- Działa w środowiskach bezgłowych.
Opcje globalne
Wszystkie polecenia obsługują następujące opcje globalne:
| Option | Opis |
|---|---|
--help, -h |
Wyświetla informacje pomocy. |
--no-tty |
Wyłącza interakcyjne monity (tryb bezgłowy). |
Commands
Ocenić
Uruchamia ocenę i generuje kompleksowy raport analizy.
Składnia
modernize assess [options]
Opcje
| Option | Opis | Wartość domyślna |
|---|---|---|
--source <path> |
Ścieżka do projektu źródłowego (względna lub bezwzględna ścieżka lokalna). |
. (bieżący katalog) |
--output-path <path> |
Niestandardowa ścieżka wyjściowa dla wyników oceny. | .github/modernize/assessment/ |
--issue-url <url> |
Adres URL problemu usługi GitHub do zaktualizowania za pomocą podsumowania oceny. | Żadne |
--multi-repo |
Umożliwia ocenę wielu repozytoriów. Skanuje podkatalogi pierwszego poziomu dla wielu repozytoriów. | Wyłączony |
--model <model> |
Model LLM do użycia. | claude-sonnet-4.6 |
--delegate <delegate> |
Tryb wykonywania: local (ten komputer) lub cloud (Agent kodowania w chmurze). |
local |
--wait |
Czeka na ukończenie delegowanych zadań i wygenerowanie wyników (tylko prawidłowe za pomocą polecenia --delegate cloud). |
Wyłączony |
--force |
Wymusza ponowne uruchomienie delegowania, ignorując bieżące zadania (ważne tylko w przypadku --delegate cloudpolecenia ). |
Wyłączony |
Examples
Podstawowa ocena bieżącego katalogu:
modernize assess
Ocena przy użyciu niestandardowej lokalizacji wyjściowej:
modernize assess --output-path ./reports/assessment
Oceń i zaktualizuj problem z usługą GitHub z wynikami:
modernize assess --issue-url https://github.com/org/repo/issues/123
Ocena określonego katalogu projektu:
modernize assess --source /path/to/project
Ocena wielu repozytoriów w bieżącym katalogu:
modernize assess --multi-repo
Wynik
Ocena generuje:
- Pliki raportów: szczegółowa analiza w formatach JSON, MD i HTML.
- Podsumowanie: Kluczowe ustalenia i zalecenia.
-
Aktualizacje problemów (jeśli podasz): komentarz dotyczący problemu w usłudze
--issue-urlGitHub z podsumowaniem.
tworzenie planu
Tworzy plan modernizacji na podstawie wiersza polecenia języka naturalnego opisującego cele modernizacji.
Składnia
modernize plan create <prompt> [options]
Arguments
| Argument | Opis |
|---|---|
<prompt> |
Opis języka naturalnego celów modernizacji (wymagany). |
Opcje
| Option | Opis | Wartość domyślna |
|---|---|---|
--source <path> |
Ścieżka do kodu źródłowego aplikacji. | Bieżący katalog |
--plan-name <name> |
Nazwa planu modernizacji. | modernization-plan |
--language <lang> |
Język programowania (java, dotnet, lub python). |
Wykryte automatycznie |
--overwrite |
Zastępuje istniejący plan o tej samej nazwie. | Wyłączony |
--model <model> |
Model LLM do użycia. | claude-sonnet-4.6 |
Examples
Generowanie planu migracji:
modernize plan create "migrate from oracle to azure postgresql"
Wygeneruj plan uaktualniania o niestandardowej nazwie:
modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade
Wygeneruj plan wdrożenia:
modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca
Przykład pełnych opcji:
modernize plan create "upgrade to .NET 8" \
--source /path/to/project \
--plan-name dotnet8-upgrade \
--language dotnet \
--issue-url https://github.com/org/repo/issues/456
Przykłady monitów
Uaktualnienia struktury:
upgrade to spring boot 3upgrade to .NET 10upgrade to JDK 21migrate from spring boot 2 to spring boot 3
Migracje baz danych:
migrate from oracle to azure postgresqlmigrate from SQL Server to azure cosmos dbswitch from MySQL to azure database for mysql
Migracje do chmury:
migrate from on-premises to azurecontainerize and deploy to azure container appsmigrate from rabbitmq to azure service bus
Wdrażania:
deploy to azure app servicedeploy to azure kubernetes serviceset up CI/CD pipeline for azure
Wynik
Polecenie generuje:
Plik planu (
.github/modernize/{plan-name}/plan.md): szczegółowa strategia modernizacji, w tym:- Kontekst i cele
- Podejście i metodologia
- Wyjaśnienia
Lista zadań (
.github/modernize/{plan-name}/tasks.json): ustrukturyzowany podział zadań wykonywalnych z:- Opisy zadań
- Umiejętności do wykorzystania
- Kryteria powodzenia
Wskazówka
Aby dostosować podejście przed wykonaniem, można ręcznie edytować metody plan.md i tasks.json po nim.
wykonanie planu
Wykonuje plan modernizacji utworzony przez modernize plan createprogram .
Składnia
modernize plan execute [prompt] [options]
Arguments
| Argument | Opis |
|---|---|
[prompt] |
Opcjonalne instrukcje języka naturalnego dotyczące wykonywania (na przykład "pomiń testy"). |
Opcje
| Option | Opis | Wartość domyślna |
|---|---|---|
--source <path> |
Ścieżka do kodu źródłowego aplikacji. | Bieżący katalog |
--plan-name <name> |
Nazwa planu do wykonania. | modernization-plan |
--language <lang> |
Język programowania (java lub dotnet). |
Wykryte automatycznie |
--model <model> |
Model LLM do użycia. | claude-sonnet-4.6 |
--delegate <delegate> |
Tryb wykonywania: local (ten komputer) lub cloud (Agent kodowania w chmurze). |
local |
--force |
Wymusza wykonywanie nawet wtedy, gdy zadanie CCA jest w toku. | Wyłączony |
Examples
Wykonaj najnowszy plan interaktywnie:
modernize plan execute
Wykonaj określony plan:
modernize plan execute --plan-name spring-boot-upgrade
Wykonaj z dodatkowymi instrukcjami:
modernize plan execute "skip the test" --plan-name spring-boot-upgrade
Wykonaj w trybie bezgłówkowym dla ciągłej integracji/ciągłego wdrażania:
modernize plan execute --plan-name spring-boot-upgrade --no-tty
Zachowanie wykonywania
Podczas wykonywania agent:
Ładuje plan: odczytuje listę planów i zadań z
.github/modernization/{plan-name}/Wykonuje zadania: Przetwarza każde zadanie na liście zadań sekwencyjnie:
- Stosuje przekształcenia kodu.
- Weryfikuje kompilacje po zmianach.
- Skanuje pod kątem CVE.
- Zatwierdza zmiany z opisowymi komunikatami.
Generuje podsumowanie: zawiera raport wszystkich zmian i wyników.
Wynik
- Historia zatwierdzeń: szczegółowe zatwierdzenia dla każdego wykonanego zadania.
- Raport podsumowujący: Omówienie zmian, sukcesów i napotkanych problemów.
- Weryfikacja kompilacji: potwierdzenie pomyślnego skompilowania aplikacji.
- Raport CVE: Zidentyfikowane i rozwiązane luki w zabezpieczeniach.
aktualizować
Uruchamia pełny przepływ pracy uaktualniania — planowanie i wykonywanie — w jednym poleceniu.
Składnia
modernize upgrade [prompt] [options]
Arguments
| Argument | Opis |
|---|---|
[prompt] |
Wersja docelowa, taka jak Java 17, Spring Boot 3.2, .NET 10. Domyślnie jest to najnowsza wersja LTS. |
Opcje
| Option | Opis | Wartość domyślna |
|---|---|---|
--source <source> |
Ścieżka do projektu źródłowego (względna lub bezwzględna ścieżka lokalna). |
. (bieżący katalog) |
--delegate <delegate> |
Tryb wykonywania: local (ten komputer) lub cloud (Agent kodowania w chmurze). |
local |
--model <model> |
Model LLM do użycia. | claude-sonnet-4.6 |
Examples
Uruchom polecenie upgrade w bieżącym katalogu:
modernize upgrade "Java 17"
modernize upgrade ".NET 10"
Uruchom w upgrade określonym projekcie:
modernize upgrade "Java 17" --source /path/to/project
Uruchom upgrade polecenie przy użyciu agenta kodowania w chmurze:
modernize upgrade "Java 17" --delegate cloud
help
Udostępnia polecenia pomocy i informacji.
Składnia
modernize help [command]
Commands
| Polecenie | Opis |
|---|---|
models |
Wyświetla listę dostępnych modeli LLM i ich mnożników. |
Examples
Lista dostępnych modeli:
modernize help models
Konfigurowanie interfejsu wiersza polecenia
Za pomocą agenta modernizacji można dostosować zachowanie aplikacji za pomocą plików JSON i zmiennych środowiskowych.
Zmienne środowiskowe
Ustaw zmienne środowiskowe, aby zastąpić wszystkie inne zakresy konfiguracji:
| Variable | Opis | Wartość domyślna |
|---|---|---|
MODERNIZE_LOG_LEVEL |
Poziom rejestrowania (none, error, , warninginfo, , debug, all) |
info |
MODERNIZE_MODEL |
Model LLM do użycia. | claude-sonnet-4.6 |
MODERNIZE_COLLECT_TELEMETRY |
Włączanie lub wyłączanie zbierania danych telemetrycznych. | true |
Przykład:
export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess
Konfiguracja użytkownika
Przechowuj preferencje specyficzne dla użytkownika w ~/.modernize/config.json ustawieniach lub w całym repozytorium w programie .github/modernize/config.json.
{
"model": "claude-sonnet-4.6",
"log_level": "info",
"trusted_folders": [
"/path/to/trusted/project",
]
}
Właściwość trusted_folders określa foldery, które są zaufane do korzystania z usługi LLM w trybie interaktywnym.
Uwaga / Notatka
Zmienne środowiskowe mają najwyższy priorytet, a następnie konfigurację użytkownika, a następnie konfigurację repozytorium. Użyj zmiennych środowiskowych dla przesłonięć ciągłej integracji/ciągłego wdrażania i konfiguracji użytkownika dla preferencji osobistych.
Konfiguracja wielu repozytoriów
Utwórz plik, .github/modernize/repos.json aby włączyć tryb wielu repozytoriów:
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
]
Po zainstalowaniu repos.json pliku użyj następujących poleceń, aby obsługiwać wszystkie skonfigurowane repozytoria:
Ocena wszystkich repozytoriów lokalnie:
modernize assess
Oceń wszystkie repozytoria przy użyciu agenta kodowania w chmurze:
modernize assess --delegate cloud
Uaktualnij wszystkie repozytoria przy użyciu agenta kodowania w chmurze:
modernize upgrade --delegate cloud