L’extension de modernisation des applications GitHub Copilot dans Visual Studio Code automatise les mises à niveau Java en identifiant les frameworks obsolètes, les API déconseillées et les bloqueurs de mise à niveau. agent Copilot de cloud applique les modifications de code, met à jour les fichiers de build et résout les problèmes de génération et CVE pour vous.
Les recommandations et les rapports générés par l’extension peuvent aider vos équipes à adopter rapidement de nouvelles technologies et à réduire la dette technique. Copilot vous guide tout au long des mises à niveau avec des étapes et des résumés actionnables, en accélérant et en sécurisant vos migrations tout en réduisant les efforts manuels.
Pour obtenir des instructions sur les fonctionnalités d’extension, la configuration et l’interface utilisateur, consultez La documentation de modernisation de GitHub application Copilot dans la documentation Microsoft.
Infrastructure de modernisation
Lorsque vous démarrez une session d’agent à l’aide de l’extension de mise à niveau Java, l’extension vous aidera à moderniser votre application Java à l’aide de l’infrastructure suivante.
-
**Effectuer des tâches d’évaluation**. L’extension peut analyser le code, la configuration et les dépendances, en fournissant une évaluation de l’état actuel de votre application. -
**Créez un plan de modernisation personnalisable**. En fonction de l’évaluation, l’extension peut suggérer un chemin de modernisation, y compris les mises à jour nécessaires de l’infrastructure et de la bibliothèque. -
**Identification précoce des problèmes**. L’extension identifie les dépendances, les bibliothèques obsolètes et les fonctionnalités de langage, ainsi que les problèmes de migration potentiels. L’extension fournit des stratégies actionnables pour résoudre les problèmes. -
**Personnalisez votre plan**. Modifiez le plan de modernisation en fonction des besoins spécifiques de votre application, tels que l’incorporation de normes et de pratiques organisationnelles, à l’exclusion de certains composants, ou la hiérarchisation de fonctionnalités ou de modèles de conception spécifiques. -
**Implémentez votre plan**. L’extension peut aider à appliquer des modifications de code, à mettre à jour les fichiers de build, à refactoriser les API déconseillées et à résoudre les problèmes de build et de syntaxe. L’extension corrige automatiquement les erreurs de génération et effectue les validations de test après chaque étape pour garantir la stabilité et les modifications sans erreur. <!-- markdownlint-disable-line GHD046 --> -
**Passez en revue vos modifications**. L’extension peut produire un rapport de mise à niveau détaillé, résumer les modifications appliquées et répertorier les problèmes non traités et les étapes restantes de votre modernisation. -
**Générer des tests unitaires**. L’extension évalue automatiquement les tests existants et génère de nouveaux fichiers de test et les ajoute à l’espace de travail. Un rapport est produit récapitunant les résultats des tests de pré-génération et post-génération. -
**Conteneurisez votre application**. L’extension peut générer automatiquement des fichiers Dockerfiles, générer des images et valider tout ce qui permet à votre application modernisée de s’exécuter dans les services de conteneur tels que Azure Kubernetes Service (AKS), Azure Container Apps (ACA) et AKS Automatic, ce qui facilite le déploiement et la scalabilité. -
**Préparez le déploiement**. L’extension peut vous aider à préparer votre application pour la conteneurisation et le déploiement, en générant des artefacts de déploiement tels que des scripts et des configurations. -
**Automatiser le déploiement sur Azure**. L’extension peut vous aider à déployer ou à provisionner votre application modernisée pour Azure, générer des artefacts nécessaires et Azure ressources et effectuer des étapes d’exécution.
Vous pouvez améliorer la compréhension de la base de code d'application de votre équipe et gagner du temps et des efforts en utilisant Copilot pour effectuer des tâches de modernisation complexes telles que :
- Rétro-ingénierie et transformation de code
- Analyse des vulnérabilités et des dépendances, vérifications et corrections du comportement du code
- Génération automatisée de ressources, de documentation et de rapports de mise à niveau
- Génération et évaluation des tests
- Automatisation du déploiement
Vue d’ensemble du flux de travail de modernisation
Dans cet exemple, nous allons suivre les étapes générales pour moderniser une application Java à l'aide de l'extension de modernisation des applications GitHub Copilot dans Visual Studio Code.
Pour obtenir des instructions et des prérequis détaillés, consultez Quickstart : mettez à niveau un projet Java avec GitHub Copilot modernisation des applications dans la documentation Microsoft.
Remarque
Pendant le flux de travail de modernisation, vous pouvez fréquemment recevoir une invitation de agent Copilot de cloud à confirmer avant d’effectuer des actions spécifiques.
1. Ouvrez votre projet Java
Utilisez VS Code pour ouvrir votre dossier de projet.
Actions suggérées
- Assurez-vous que votre projet se construise correctement avant de continuer.
- Si vous rencontrez des problèmes de génération, vous pouvez utiliser Copilot pour les résoudre avant de commencer le processus de modernisation.
2. Démarrer un espace de travail de modernisation
Démarrez Copilot Chat et lancez une nouvelle session en mode agent. Choisissez GitHub Copilot la modernisation des applications : mise à niveau pour Java à partir des outils disponibles.
3. Analyser votre projet pour les opportunités de mise à niveau
Copilot analyse votre codebase. L’analyse comprend :
- Détection des frameworks obsolètes (par exemple, Spring Boot, Jakarta EE, versions de Java SE).
- Identification des API déconseillées et des modèles obsolètes.
- Suggestions pour les opportunités de mise à niveau.
Vous pouvez consulter les résultats et un plan de mise à niveau structuré dans l’éditeur, qui s’affiche :
- Versions actuelles et recommandées pour les frameworks et les dépendances.
- Emplacements de code nécessitant une migration ou une refactorisation.
- Bloqueurs de mise à niveau ou dépendances incompatibles.
Actions suggérées
- Passez en revue et personnalisez le plan de modernisation avant de poursuivre la mise à niveau.
4. Appliquer des recommandations de Copilot mise à niveau
Permet Copilot d’appliquer ou de passer en revue les modifications du code, de mettre à jour les fichiers de build et de refactoriser les API.
Si des erreurs de build sont détectées, Copilot peut entrer dans un cycle de correction et de test jusqu’à ce que le projet soit compilé sans erreur.
agent Copilot de cloud Les modifications automatisées peuvent inclure :
-
Mise à jour des fichiers
pom.xmloubuild.gradlepour les nouvelles versions des dépendances. -
Génération de pull requests ou commettre des modifications directement.
-
Refactorisation du code pour les modifications d’API. Par exemple, la migration des espaces de noms
javax.*versjakarta.*. -
Suggérer ou appliquer des transformations de code pour résoudre les modifications majeures.
Copilot itérera et continuera à corriger les erreurs jusqu’à ce que le projet s’exécute correctement et qu’il n’y ait plus de problèmes qui nécessitent la correction. Il est possible que des problèmes mineurs qui ne nécessitent pas de correctifs immédiats restent. Celles-ci n’empêchent pas la mise à niveau de se terminer.
Actions suggérées
- Passez en revue toutes les modifications de code dans votre éditeur de diff avant d’accepter.
- Permet Copilot d’expliquer et de documenter les modifications apportées au code.
- Lorsque l’extension vous invite à, acceptez les options permettant de vérifier les dépendances modifiées pour les CVEs connues et de valider le comportement du code pour la cohérence.
- Passez en revue les problèmes restants et évaluez leur importance.
5. Afficher le rapport de mise à niveau et suggérer les étapes suivantes
Une fois le processus de mise à niveau terminé, Copilot génère un rapport de mise à niveau récapitulative incluant :
- Information du projet.
- Lignes de code modifiées.
- Dépendances mises à jour.
- Modifications de code résumées.
- Correction des problèmes de sécurité CVE et d'incohérence de code, le cas échéant.
- Problèmes DE CVE mineurs non traités.
Actions suggérées
- Passez en revue le rapport pour comprendre les modifications apportées.
- Suivez les étapes suivantes suggérées pour finaliser votre modernisation.
Fin de la modernisation
D’autres travaux pour prendre en charge votre modernisation peuvent inclure les éléments suivants :
-
**Vérification** approfondie des modifications initiales de modernisation et de code. Vérifiez que les normes de codage et les meilleures pratiques de votre entreprise sont respectées. -
**Révision approfondie du** code modifié. Par exemple, vérifiez que le code généré correspond à l’objectif et à l’architecture de votre projet. Pour plus de suggestions, consultez [AUTOTITLE](/copilot/tutorials/review-ai-generated-code). -
**Correction de bugs**. Évaluez le contenu spécifique à la recherche d'erreurs subtiles, puis utilisez vos propres outils de débogage et de linting pour analyser le nouveau contenu. -
**Rédaction de tests** et identification des lacunes dans les tests pour le projet mis à niveau. -
**Nettoyage** du projet en supprimant les fichiers qui ne sont plus nécessaires. -
**Refactorisation** du code dans le nouveau langage. Le processus de modernisation peut avoir entraîné un projet dont l’architecture était basée sur celle de votre projet d’origine, mais ce n’est plus la solution idéale ou optimale pour vos besoins. Vous pouvez maintenant refactoriser le code pour tirer le meilleur profit des fonctionnalités du langage et de l’infrastructure utilisée. -
**Mise à jour de la documentation**. Vos informations de projet et vos fichiers contributeurs peuvent maintenant être obsolètes et doivent être réécrits. -
**Conteneurisation**. Mettez à jour le code de votre application, générez des fichiers de conteneurisation tels que dockerfiles et générez l’image pour tester la validité. Si nécessaire, Copilot vous pouvez effectuer ces tâches de conteneurisation et créer un plan complet détaillant les étapes suivantes. -
**Deploying** l’application modernisée dans vos environnements cibles, y compris les plateformes cloud telles que Microsoft Azure.