Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
L’agent de modernisation GitHub Copilot fournit des modes interactifs et non interactifs pour la modernisation des applications.
Modes de commande
Mode interactif
Lancez l’interface utilisateur de texte interactive (TUI) pour la modernisation guidée :
modernize
Le mode interactif fournit les éléments suivants :
- Navigation pilotée par le menu via le flux de travail de modernisation.
- Indicateurs de plan visuel et de progression.
- Invites guidées pour les options de configuration.
- Interface de sélection multi-référentiel.
Mode non interactif
Exécutez des commandes spécifiques directement pour l’automatisation et les scripts :
modernize <command> [options]
Utilisez le mode non interactif lorsque :
- Intégration à des pipelines CI/CD.
- Automatisation des opérations par lots.
- Scripts de flux de travail de modernisation.
- Exécution dans des environnements sans tête.
Options globales
Toutes les commandes prennent en charge ces options globales :
| Choix | Description |
|---|---|
--help, -h |
Affiche les informations d’aide. |
--no-tty |
Désactive les invites interactives (mode sans tête). |
Commandes
Évaluer
Exécute une évaluation et génère un rapport d’analyse complet.
Syntaxe
modernize assess [options]
Options
| Choix | Description | Par défaut |
|---|---|---|
--source <path> |
Chemin d’accès au projet source (chemin local relatif ou absolu). |
. (répertoire actif) |
--output-path <path> |
Chemin de sortie personnalisé pour les résultats de l’évaluation. | .github/modernize/assessment/ |
--issue-url <url> |
URL de problème GitHub à mettre à jour avec le résumé de l’évaluation. | Aucun |
--multi-repo |
Active l’évaluation multipo. Analyse les sous-répertoires de premier niveau pour plusieurs référentiels. | Désactivé |
--model <model> |
Modèle LLM à utiliser. | claude-sonnet-4.6 |
--delegate <delegate> |
Mode d’exécution : local (cet ordinateur) ou cloud (Agent de codage cloud). |
local |
--wait |
Attend que les tâches déléguées se terminent et génèrent des résultats (valides uniquement avec --delegate cloud). |
Désactivé |
--force |
Force le redémarrage de la délégation, en ignorant les tâches en cours (uniquement valides avec --delegate cloud). |
Désactivé |
Exemples
Évaluation de base du répertoire actif :
modernize assess
Évaluer avec l’emplacement de sortie personnalisé :
modernize assess --output-path ./reports/assessment
Évaluer et mettre à jour le problème GitHub avec les résultats :
modernize assess --issue-url https://github.com/org/repo/issues/123
Évaluer un répertoire de projet spécifique :
modernize assess --source /path/to/project
Évaluez plusieurs dépôts dans le répertoire actif :
modernize assess --multi-repo
Sortie
L’évaluation génère :
- Fichiers de rapport : analyse détaillée dans les formats JSON, MD et HTML.
- Résumé : résultats et recommandations clés.
-
Problèmes de mise à jour (si vous fournissez
--issue-url) : commentaire du problème GitHub avec résumé.
création de plan
Crée un plan de modernisation basé sur une invite de langage naturel décrivant vos objectifs de modernisation.
Syntaxe
modernize plan create <prompt> [options]
Arguments
| Argument | Description |
|---|---|
<prompt> |
Description en langage naturel des objectifs de modernisation (requis). |
Options
| Choix | Description | Par défaut |
|---|---|---|
--source <path> |
Chemin d’accès au code source de l’application. | Répertoire courant |
--plan-name <name> |
Nom du plan de modernisation. | modernization-plan |
--language <lang> |
Langage de programmation (java, dotnetou python). |
Détection automatique |
--overwrite |
Remplace un plan existant portant le même nom. | Désactivé |
--model <model> |
Modèle LLM à utiliser. | claude-sonnet-4.6 |
Exemples
Générez un plan de migration :
modernize plan create "migrate from oracle to azure postgresql"
Générez un plan de mise à niveau avec un nom personnalisé :
modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade
Générez un plan de déploiement :
modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca
Exemple d’options complètes :
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
Exemples d’invite
Mises à niveau de framework :
upgrade to spring boot 3upgrade to .NET 10upgrade to JDK 21migrate from spring boot 2 to spring boot 3
Migrations de base de données :
migrate from oracle to azure postgresqlmigrate from SQL Server to azure cosmos dbswitch from MySQL to azure database for mysql
Migrations cloud :
migrate from on-premises to azurecontainerize and deploy to azure container appsmigrate from rabbitmq to azure service bus
Déploiement:
deploy to azure app servicedeploy to azure kubernetes serviceset up CI/CD pipeline for azure
Sortie
La commande génère :
Fichier de plan (
.github/modernize/{plan-name}/plan.md) : stratégie de modernisation détaillée, notamment :- Contexte et objectifs
- Approche et méthodologie
- Clarifications
Liste des tâches (
.github/modernize/{plan-name}/tasks.json) : Répartition structurée des tâches exécutables avec :- Descriptions des tâches
- Compétences à utiliser
- Critères de réussite
Conseil / Astuce
Vous pouvez modifier manuellement les deux plan.md et tasks.json après génération pour personnaliser l’approche avant l’exécution.
plan d’exécution
Exécute un plan de modernisation créé par modernize plan create.
Syntaxe
modernize plan execute [prompt] [options]
Arguments
| Argument | Description |
|---|---|
[prompt] |
Instructions facultatives en langage naturel pour l’exécution (par exemple, « ignorer les tests »). |
Options
| Choix | Description | Par défaut |
|---|---|---|
--source <path> |
Chemin d’accès au code source de l’application. | Répertoire courant |
--plan-name <name> |
Nom du plan à exécuter. | modernization-plan |
--language <lang> |
Langage de programmation (java ou dotnet). |
Détection automatique |
--model <model> |
Modèle LLM à utiliser. | claude-sonnet-4.6 |
--delegate <delegate> |
Mode d’exécution : local (cet ordinateur) ou cloud (Agent de codage cloud). |
local |
--force |
Force l’exécution même lorsqu’un travail CCA est en cours. | Désactivé |
Exemples
Exécutez le plan le plus récent de manière interactive :
modernize plan execute
Exécutez un plan spécifique :
modernize plan execute --plan-name spring-boot-upgrade
Exécutez avec des instructions supplémentaires :
modernize plan execute "skip the test" --plan-name spring-boot-upgrade
Exécutez en mode sans tête pour CI/CD :
modernize plan execute --plan-name spring-boot-upgrade --no-tty
Comportement d’exécution
Pendant l’exécution, l’agent :
Charge le plan : lit le plan et la liste des tâches à partir de
.github/modernization/{plan-name}/Exécute des tâches : traite chaque tâche de la liste des tâches de manière séquentielle :
- Applique des transformations de code.
- Valide les builds après les modifications.
- Recherche les CVE.
- Valide les modifications avec des messages descriptifs.
Génère un résumé : fournit un rapport de toutes les modifications et résultats.
Sortie
- Historique des validations : validations détaillées pour chaque tâche exécutée.
- Rapport de synthèse : Vue d’ensemble des modifications, des réussites et des problèmes rencontrés.
- Validation de build : confirmation que l’application est générée avec succès.
- Rapport CVE : vulnérabilités de sécurité identifiées et traitées.
upgrade
Exécute un flux de travail de mise à niveau de bout en bout - planifier et exécuter - dans une seule commande.
Syntaxe
modernize upgrade [prompt] [options]
Arguments
| Argument | Description |
|---|---|
[prompt] |
Version cible, telle que Java 17, Spring Boot 3.2, .NET 10. La valeur par défaut est la dernière LTS. |
Options
| Choix | Description | Par défaut |
|---|---|---|
--source <source> |
Chemin d’accès au projet source (chemin local relatif ou absolu). |
. (répertoire actif) |
--delegate <delegate> |
Mode d’exécution : local (cet ordinateur) ou cloud (Agent de codage cloud). |
local |
--model <model> |
Modèle LLM à utiliser. | claude-sonnet-4.6 |
Exemples
Exécutez sur upgrade le répertoire actif :
modernize upgrade "Java 17"
modernize upgrade ".NET 10"
Exécutez sur upgrade un projet spécifique :
modernize upgrade "Java 17" --source /path/to/project
Exécutez à upgrade l’aide de l’agent de codage cloud :
modernize upgrade "Java 17" --delegate cloud
help
Fournit de l’aide et des commandes d’informations.
Syntaxe
modernize help [command]
Commandes
| Command | Description |
|---|---|
models |
Répertorie les modèles LLM disponibles et leurs multiplicateurs. |
Exemples
Répertorier les modèles disponibles :
modernize help models
Configurer l’interface CLI
À l’aide de l’agent de modernisation, vous pouvez personnaliser le comportement de l’application via des fichiers JSON et des variables d’environnement.
Variables d'environnement
Définissez des variables d’environnement pour remplacer toutes les autres étendues de configuration :
| Variable | Description | Par défaut |
|---|---|---|
MODERNIZE_LOG_LEVEL |
Niveau de journalisation (none, , warningerror, debuginfo, all) |
info |
MODERNIZE_MODEL |
Modèle LLM à utiliser. | claude-sonnet-4.6 |
MODERNIZE_COLLECT_TELEMETRY |
Activez ou désactivez la collecte de données de télémétrie. | true |
Exemple :
export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess
Configuration utilisateur
Stocker des préférences spécifiques à l’utilisateur dans ou des ~/.modernize/config.json paramètres à l’échelle du référentiel dans .github/modernize/config.json.
{
"model": "claude-sonnet-4.6",
"log_level": "info",
"trusted_folders": [
"/path/to/trusted/project",
]
}
La trusted_folders propriété spécifie les dossiers approuvés pour utiliser LLM en mode interactif.
Note
Les variables d’environnement sont prioritaires, suivies de la configuration utilisateur, puis de la configuration du référentiel. Utilisez des variables d’environnement pour les remplacements CI/CD et la configuration utilisateur pour les préférences personnelles.
Configuration de plusieurs référentiels
Créez un .github/modernize/repos.json fichier pour activer le mode multi-référentiel :
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
]
Une fois le repos.json fichier en place, utilisez les commandes suivantes pour fonctionner sur tous les référentiels configurés :
Évaluez tous les référentiels localement :
modernize assess
Évaluez tous les référentiels à l’aide de l’Agent de codage cloud :
modernize assess --delegate cloud
Mettez à niveau tous les référentiels à l’aide de l’Agent de codage cloud :
modernize upgrade --delegate cloud