Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Aperçu
Découvrez comment migrer des applications .NET vers Azure à l’aide du plug-in de modernisation GitHub Copilot dans Copilot CLI.
Le plug-in fournit un flux de travail autonome multi-agent qui évalue votre application .NET, génère un plan de modernisation exécutable et effectue la migration, à partir du terminal. Il prend en charge les migrations Azure, les correctifs de vulnérabilité CVE et la réarchitecture des applications.
Note
GitHub Copilot CLI est disponible dans les plans GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business et GitHub Copilot Enterprise. Si vous recevez Copilot via une organisation, un administrateur doit activer la stratégie CLI Copilot dans les paramètres de l’organisation.
Ce que vous pouvez faire
| Capability | Description |
|---|---|
| Migration de .NET vers Azure | Évaluer et migrer des applications .NET vers des services Azure (Service Bus, Azure SQL, Redis, Key Vault, Application Insights, Managed Identity), y compris des audits de sécurité NuGet et des migrations ASP.NET-à-Azure |
| CVE et correction de vulnérabilités | Analyser et corriger les vulnérabilités CVE dans les dépendances NuGet |
| Réarchitecture d’application | Réécritures structurelles telles que la décomposition d’un monolithe en microservices, la modernisation d’une interface utilisateur existante et l’extraction de modules |
Prerequisites
- Installez l’interface CLI Copilot.
- Un abonnement GitHub Copilot. Consultez les plans Copilot.
Installer le plug-in
Dans un terminal, exécutez
copilotpour démarrer Copilot CLI.copilotAjoutez la Place de marché et installez le plug-in :
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationVérifiez que le plug-in est installé en répertoriant les plug-ins installés :
/plugin listVous devriez voir
github-copilot-modernization:modernizedans la liste.
Mettre à jour le plug-in
Pour mettre à jour le plug-in lorsqu’une nouvelle version est disponible, exécutez :
copilot plugin update github-copilot-modernization@github-copilot-modernization
Démarrer une tâche de modernisation
Option 1 : Démarrer directement avec l’agent
Accédez à votre dossier de projet .NET et démarrez Copilot CLI avec l’agent de modernisation :
cd /path/to/your/dotnet-project
copilot --agent=github-copilot-modernization:modernize
Option 2 : Sélectionner l’agent dans Copilot CLI
Si vous êtes déjà dans une session CLI Copilot, utilisez la commande /agent pour basculer vers l'agent de modernisation :
/agent
Sélectionnez-le github-copilot-modernization:modernize dans la liste.
Important
Vous devez sélectionner l’agent github-copilot-modernization:modernize avant d’exécuter des instructions de modernisation. Sans cet agent sélectionné, Copilot CLI utilise l'agent par défaut, qui ne peut pas utiliser l'orchestration multi-agent complète, la prise en charge des playbooks d'entreprise et les fonctionnalités de migration spécialisées que le plug-in fournit.
Lancer un prompt de modernisation
Une fois l’agent actif, décrivez ce que vous souhaitez en langage naturel :
copilot> modernize my application
Ou être plus spécifique :
copilot> modernize my .NET application for Azure
copilot> migrate this app from local SQL Server to Azure SQL Database
copilot> fix CVE vulnerabilities in my project
Pour une exécution sans assistance, utilisez l’indicateur --allow-all :
copilot --agent=github-copilot-modernization:modernize --allow-all
Fonctionnement du flux de travail
Le plug-in utilise un workflow en trois phases qui s’exécute automatiquement. Vous n’avez pas besoin d’appeler chaque phase manuellement : l’orchestrateur gère le routage en fonction de votre demande.
Phase 1 : Évaluation
- Détecte la structure du projet .NET et utilise les outils d’analyse appropriés.
- Analyse les dépendances, les frameworks et les versions.
- Identifie les opportunités et les risques de modernisation.
- Enregistre les résultats dans
.github/modernize/assessment/.
Phase 2 : Planification
- Charge les résultats d’évaluation et les contraintes du guide opérationnel d’entreprise (le cas échéant).
- Génère un plan de tâche exécutable.
- Enregistre le plan dans
.github/modernize/<app>/plan.mdettasks.json.
Phase 3 : Exécution
- Route les tâches vers des agents exécuteurs spécialisés en fonction du type de tâche.
- Chaque exécuteur interroge une base de connaissances pour les modèles de migration.
- Surveille la progression avec une nouvelle tentative automatique en cas d’échec.
- Crée des commits détaillés pour chaque tâche, pour examen.
L’orchestrateur prend en charge plusieurs points d’entrée en fonction de votre intention :
| Flux de travail | Quand il s’active | Que se passe-t-il ? |
|---|---|---|
| Intention générale | « moderniser mon application » | Évaluation complète → planification → exécution du pipeline |
| Tâche spécifique | « migrer de SQL Server vers Azure SQL » | Ignore l’évaluation, passe directement au plan → exécuter |
| Exécuter un plan existant | « exécuter le plan » | Ignore l’évaluation et la planification, exécute un plan existant |
| Headless | Exécution non assistée avec --allow-all |
Même intention générale sans invites utilisateur |
Définir des stratégies de modernisation d’entreprise
Les organisations peuvent incorporer leur intention de modernisation (architectures cibles, normes de mise à niveau et stratégies de conformité) directement dans le flux de travail via un playbook. Cette approche garantit que chaque plan généré s’aligne sur les normes d’entreprise sans examen manuel de chaque décision.
Configurer un scénario
Placez les fichiers Markdown dans le .github/modernize/playbook/ répertoire de votre projet. La phase de planification lit automatiquement tous les .md fichiers de ce dossier et les fusionne avec les résultats de l’évaluation avant de générer le plan de tâche.
Important
Les contraintes du playbook prévalent sur les recommandations d’évaluation. Si votre playbook spécifie « utiliser Azure Service Bus pour la messagerie », ce choix est prioritaire, quelle que soit la découverte de l’évaluation.
Ce que vous pouvez définir dans un manuel d’exploitation
| Type de stratégie | Exemples |
|---|---|
| Architectures cibles | Services de calcul (App Service, AKS, Container Apps), choix de base de données (Azure SQL, Cosmos DB), plateformes de messagerie (Service Bus, Event Hubs) |
| Normes de mise à niveau | Version cible de .NET, chemins de migration du framework |
| Garde-corps | Technologies interdites, exigences de sécurité, contraintes de conformité, normes d’authentification |
| Normes de codage | Conventions d’affectation de noms, modèles d’authentification, frameworks de journalisation |
| Stratégie de migration | Limites du périmètre, préférences de classification selon les 6R (réhébergement vs refactorisation vs réarchitecture), stratégie de phasage |
Exemple de guide pratique
Créez un fichier à l’adresse .github/modernize/playbook/enterprise-standards.mdsuivante :
# Enterprise Modernization Standards
## Target Architecture
- Use Azure Container Apps for microservices deployments
- Use Azure Service Bus for all asynchronous messaging
- Use Azure SQL Database for relational data
- Use Azure Blob Storage for file storage
## Security & Compliance
- All services must authenticate using Managed Identity — no connection strings or passwords in code
- All public endpoints must be behind Azure Front Door
## Guardrails
- Do not use Azure Functions for long-running processes
- All infrastructure must be defined in Bicep
Aucun nom ou structure fixe n’est requis : l’orchestrateur déduit l’objectif de chaque fichier à partir de son contenu.
Valeurs par défaut intégrées
En l’absence de playbook, le plugin applique des paramètres par défaut appropriés :
- Azure : Identité managée pour l’authentification ; services de base de données managés pour les données relationnelles.
- Messaging : Messagerie locale → Azure Service Bus.
- Infrastructure : Bicep par défaut.
Scénarios courants
migration de Azure
copilot --agent=github-copilot-modernization:modernize
copilot> modernize my .NET application for Azure
Migrer du SQL Server local vers Azure SQL
copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local SQL Server to Azure SQL Database with managed identity
Migrer des E/S de fichiers vers Stockage Blob Azure
copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local file I/O to Azure Blob Storage
CVE et correctif de sécurité
copilot --agent=github-copilot-modernization:modernize
copilot> fix CVE vulnerabilities in my project
Réarchitecture d’application
copilot --agent=github-copilot-modernization:modernize
copilot> rearchitect my monolithic application into microservices
Modernisation complète
copilot --agent=github-copilot-modernization:modernize
copilot> modernize my application
Résolution des problèmes
Extension introuvable
# Verify marketplace is added
copilot plugin marketplace list
# Re-add marketplace if needed
copilot plugin marketplace add microsoft/github-copilot-modernization
# Reinstall
copilot plugin install github-copilot-modernization@github-copilot-modernization
Échec de l’évaluation : aucune application trouvée
- Vérifiez que la racine de votre projet contient un fichier
.csprojou.sln. - Vérifiez que vous êtes dans le répertoire approprié avant de commencer Copilot CLI.
Problèmes de serveur MCP
Le plug-in utilise le serveur MCP défini dans sa configuration. Si vous rencontrez des problèmes, réinstallez le plug-in pour réinitialiser la configuration MCP.
Fournir des commentaires
Faites part de vos commentaires sur GitHub Copilot CLI à l’aide du formulaire de commentaires sur GitHub Copilot CLI.
Reference
- Utilisation de GitHub Copilot CLI
- plug-in de modernisation pour GitHub Copilot