Ajouter des analyses du code à l’aide de la fonctionnalité de modernisation de GitHub Copilot (préversion)

Cet article explique comment ajouter des analyses du code à l’aide de GitHub Copilot Modernization lors de la migration d’applications vers des services Azure. L’ajout d’insights de code vous aide à mieux évaluer la préparation de la migration et à obtenir des recommandations pour les stratégies de migration en fonction des modifications de code identifiées lors de l’analyse.

Les analyses de code pour les applications web indiquent les modifications nécessaires pour les moderniser pour Azure Kubernetes Service (AKS) et Azure App Service. Les modifications de code pour une application sont une agrégation des modifications de code pour ses applications web enfants.

Dans cet article, vous allez apprendre à :

  • Générez un rapport d’évaluation de code GitHub Copilot pour les applications web.
  • Ajoutez des informations sur le code pour les applications web à partir des pages d’inventaire des applications et d’évaluation.
  • Ajoutez des informations sur le code pour les applications web depuis les pages d’inventaire et d’évaluation des applications web.
  • Afficher les analyses du code.

Vous pouvez ajouter des insights de code à l’aide de l’une des méthodes suivantes :

  • Utilisez GitHub Copilot Modernize CLI. Utilisez cette méthode pour exécuter une évaluation à grande échelle pour plusieurs applications web simultanément, avec le chargement automatique de rapports sur Azure Migrate. Cette approche permet aux administrateurs cloud et aux développeurs d’applications de collaborer tout en respectant les instructions de sécurité du code de leur organisation.
  • Chargez à l’aide d’un fichier ZIP. Utilisez cette méthode lorsque vous disposez déjà d’un rapport d’analyse de code ou d’autorisations pour en générer un. Il nécessite un mappage manuel des rapports à chaque application web.
  • Demandez un rapport dans un ticket GitHub. Utilisez cette méthode lorsque vous ne pouvez pas générer vous-même un rapport d’insights de code ou que vous n’avez pas accès au référentiel de code.

Note

Code Insights n’est actuellement pas pris en charge via des points de terminaison privés.

Effectuer des évaluations de code à grande échelle à l’aide de GitHub Copilot Modernize CLI

L’utilisation de GitHub Copilot Modernize CLI permet l’évaluation du code à grande échelle pour plusieurs applications et applications web, avec un code source réparti sur plusieurs référentiels.

Tout d’abord, vous téléchargez un fichier de configuration à partir de Azure Migrate qui contient les détails de toutes les applications web. Vous mettez ensuite à jour la correspondance entre les applications web et les dépôts, puis exécutez l’évaluation à l’aide de l’outil en ligne de commande GitHub Copilot Modernize CLI. Les modifications de code sont automatiquement mappées à Azure Migrate pour les applications et applications web correspondantes.

Conditions préalables pour les utilisateurs Azure Migrate

  • Un projet Azure Migrate avec la découverte réussie d’applications et d’applications web.
  • ASP.NET ou Java applications web. Ces types d’applications web sont pris en charge.
  • Azure App Service ou Azure Kubernetes Service. Les analyses de code sont prises en charge pour ces cibles Azure.

Conditions préalables pour GitHub Copilot moderniser les utilisateurs de l’interface CLI

  • Une licence GitHub Copilot Free, Pro, Pro+, Business ou Enterprise.
  • Installation du Azure CLI et GitHub Copilot Moderniser l’interface CLI. Connectez-vous à Azure et GitHub Copilot.
  • Rôle Expert Décider et planifier ou des privilèges supérieurs sur le projet Azure Migrate.

Pour obtenir des instructions détaillées sur l’installation, consultez les instructions De modernisation de l’interface CLI.

Téléchargez le fichier de configuration à partir de Azure Migrate

  1. Générez le fichier de configuration à l’aide de l’une de ces méthodes :

    • Dans la page Azure Migrate Overview, sous Explore Applications, sélectionnez Applications.
    • Dans la page Azure Migrate Overview, sous Explore inventory, sélectionnez Applicationsweb.
    • Dans la page Azure Migrate Overview, sous Decide et Plan, sélectionnez Assessments. Choisissez l’évaluation d’application ou l’évaluation d’application web appropriée.
  2. Sélectionnez les applications ou les applications web pour lesquelles vous souhaitez ajouter des insights de code. Sélectionnez ensuite Ajouter des insights de code>GitHub Copilot modernisation.

    Capture d’écran montrant la sélection de l’option de modernisation GitHub Copilot.

  3. Par défaut, l’évaluation du code à grande échelle avec chargement automatisé du rapport est sélectionnée pour apporter des modifications au code à l’aide de l’interface CLI GitHub Copilot Modernize.

  4. Passez en revue la liste des applications web. Vous pouvez supprimer les applications web pour lesquelles vous n’avez pas besoin d’insights de code.

  5. Sélectionnez Télécharger pour générer un fichier JSON qui contient les détails de toutes les applications web à évaluer et les espaces réservés pour ajouter des informations de référentiel. Le téléchargement peut prendre quelques secondes.

    Capture d’écran montrant l’option de configuration de téléchargement.

Exécuter le fichier de configuration dans l’interface CLI Moderniser

  1. Avant d’exécuter le fichier de configuration dans l’interface CLI Moderniser, vous devez mettre à jour le fichier avec le nom et le chemin d’accès du référentiel de code pour chaque application web. Le fichier comporte deux sections : apps et repos.

    Capture d’écran montrant comment mettre à jour le fichier avec le nom et le chemin du référentiel de code pour chaque application web.

  2. Dans la apps section, passez en revue le nom de l’application web, le serveur d’hébergement, l’application parente et la version du framework.

  3. Dans la apps section, dans la repos propriété, remplacez <sample-git-repo> et <sample-local-repo> par le nom du référentiel associé à l’application web. Vous pouvez mentionner les noms de plusieurs référentiels GitHub et chemins d’accès locaux.

  4. Dans la repos section, mettez à jour les mêmes noms de référentiels que ceux décrits à l’étape précédente. Remplacez <https://github.com/<sample-org>/<sample-repo>.git> ensuite par le chemin d’accès au référentiel GitHub. Le champ branche est facultatif. Si le référentiel est stocké localement, remplacez </absolute/path/to/project> par les détails du chemin d’accès.

  5. Répétez les étapes précédentes pour toutes les applications web dans le fichier de configuration.

  6. Ouvrez GitHub Copilot Modernize CLI. Authentifiez-vous pour GitHub Copilot et Azure à l’aide gh auth login et az login. Vérifiez que l’utilisateur qui exécute Modernize CLI s’est vu attribuer le rôle « Decide and Plan Expert » dans le projet Azure Migrate.

  7. Exécutez modernize assess --source <local path to configuration file>. L’évaluation du code peut prendre quelques minutes.

  8. Une fois l’évaluation du code réussie, les rapports sont automatiquement envoyés à Azure Migrate. Vous recevez le message Distribution complete: m/n app(s) distributed.

  9. Les modifications de code sont automatiquement mises à jour pour les applications sélectionnées et les applications web dans Azure Migrate.

Afficher les analyses du code

  1. Pour afficher des insights de code pour les applications, accédez à Explorer les applications>. Dans la colonne Modifications du code , sélectionnez Disponible.

    Capture d’écran montrant comment sélectionner des options de modification de code dans le volet Applications.

  2. Pour afficher les informations sur le code des applications web, accédez à Explorer l’inventaire>Applications web. Dans la colonne Modifications du code , sélectionnez Disponible.

  3. Si vous avez déjà créé une évaluation pour les applications ou les applications web pour lesquelles vous avez ajouté des insights de code, cette évaluation est obsolète. Recalculez l’évaluation pour afficher les analyses du code. Vous trouverez des modifications de code sous Afficher les détails de chaque évaluation.

  4. Passez en revue les modifications du code en sélectionnant l’onglet approprié : Problèmes, avertissements ou informations. Ces onglets fournissent une vue résumée des modifications de code dans les applications web dans l’évaluation.

  5. La liste fournit des conseils de correction actionnables et des efforts estimés pour les correctifs de code. GitHub Copilot effort est estimé à environ 40% de l’effort manuel requis.

    Capture d’écran montrant la vue résumée des modifications de code dans les applications web dans une évaluation.

  6. Si vous avez déjà créé l’évaluation, les modifications de code s’affichent uniquement pour la cible recommandée, et la stratégie de préparation et de migration peut changer. Si les modifications de code requises sont significatives, la préparation peut passer de Ready à Ready avec des conditions.

Charger manuellement des rapports d’analyse de code à l’aide d’un fichier ZIP

Vous pouvez générer un rapport d’analyse de code manuellement et le charger en tant que fichier ZIP pour Azure Migrate.

Prerequisites

  • Applications web pour lesquelles vous souhaitez générer un rapport d’analyse de code

Générer un rapport d’évaluation de code GitHub Copilot

Vous pouvez générer un rapport d’évaluation du code à l’aide de l’extension de modernisation GitHub Copilot ou de l’interface CLI AppCAT.

Extension Modernisation de GitHub Copilot

  1. Installez l’extension de modernisation GitHub Copilot dans Visual Studio Code.

  2. Ouvrez le code source de votre application web à partir du référentiel GitHub. Vous devez disposer d’autorisations pour le référentiel de code.

  3. Dans la barre latérale, sélectionnez GitHub Copilot modernization. Dans la section ASSESSMENT, sélectionnez Migrer vers Azure ou Exécuter l’évaluation.

  4. Une fois l’évaluation terminée, vous pouvez télécharger le fichier report.json à l’emplacement de votre choix.

  5. Créez un fichier ZIP pour tous les rapports que vous souhaitez ajouter.

AppCAT CLI

  1. Installez AppCAT :

  2. Générez des rapports AppCAT pour toutes les applications web évaluées :

  3. Créez un fichier ZIP pour tous les rapports que vous souhaitez ajouter.

Charger le fichier ZIP

  1. Ajoutez un rapport d’évaluation du code à l’aide de l’une de ces méthodes :

    • Dans la page Azure Migrate Overview, sous Explore inventory, sélectionnez Applicationsweb.
    • Dans la page Azure Migrate Overview, sous Explore Applications, sélectionnez Applications.
    • Dans la page Azure Migrate Overview, sous Decide et Plan, sélectionnez Assessments. Choisissez l’évaluation de l’application ou l’évaluation d’application web.
  2. Sélectionnez les applications ou les applications web pour lesquelles vous souhaitez ajouter des insights de code. Sélectionnez ensuite Ajouter des insights de code>GitHub Copilot modernisation.

  3. Sélectionnez Évaluation de code unique avec chargement manuel de rapport.

    Capture d’écran montrant la sélection d’une évaluation de code unique avec le chargement manuel du rapport.

  4. Dans le volet Ajouter Code Insights , sélectionnez Charger un fichier ZIP.

  5. Cliquez sur Parcourir. Sélectionnez l’emplacement du fichier ZIP qui contient les rapports à importer, puis sélectionnez Charger. Attendez que le chargement et la validation se terminent.

    Capture d’écran montrant comment charger le fichier ZIP qui contient les rapports à importer.

  6. Dans la liste des applications Web, sélectionnez la liste déroulante Rapport Code Insights, puis affichez les rapports téléversés dans Téléversés à partir d’un fichier .ZIP.

    Capture d’écran montrant comment afficher un rapport d’insights de code.

  7. Sélectionnez le rapport approprié à mapper à l’application web correspondante. Répétez ces étapes pour toutes les applications web requises.

  8. Sélectionnez Ajouter et attendre la fin du processus. Les rapports d’analyse sur le code sont automatiquement associés à toutes les cibles Azure.

    Capture d’écran montrant comment les rapports d’insights de code sont automatiquement mappés à toutes les cibles Azure.

  9. Une fois le mappage terminé, la colonne Modifications du code sur les pages des applications et des applications web affiche Disponible. Toutes les évaluations des applications sélectionnées ou des applications web sont marquées comme obsolètes. Sélectionnez Recalculer pour démarrer le recalcul.

  10. Dans la page des applications ou des applications web, sélectionnez Disponible pour afficher les insights de code. Si des modifications de code sont incluses, la page affiche le nombre de modifications pour la cible de Azure recommandée.

Demander un rapport via GitHub

La demande d’un rapport via GitHub connecte Azure Migrate à un référentiel GitHub à l’aide des détails de connexion fournis et crée automatiquement un problème dans ce référentiel. À l’aide de l’extension de modernisation GitHub Copilot, vous pouvez analyser votre code et charger des rapports directement dans le problème de GitHub associé.

Après avoir mis à jour le problème, Azure Migrate attache automatiquement les rapports d’analyse du code aux applications web associées. Cette approche permet aux administrateurs et aux développeurs cloud de collaborer tout en conservant les limites de sécurité pour le code d’application.

Prerequisites

  • Vérifiez qu’une évaluation d’application web existe pour chaque application web, car vous pouvez ajouter des rapports d’analyse de code uniquement à une évaluation existante.
  • Fournissez des informations sur le référentiel GitHub requis pour l’intégration à Azure Migrate, afin d’autoriser les requêtes automatiques et la synchronisation des rapports d’analyse de code.
  • Fournissez les détails de l’application GitHub avec les autorisations nécessaires pour créer des problèmes et lire des commentaires dans le référentiel cible.

Créer une application GitHub

  1. Dans le coin supérieur droit de la page GitHub, sélectionnez votre image de profil.

  2. Accédez aux paramètres de votre compte :

    • Pour une application appartenant à un compte personnel, sélectionnez Votre organisation , puis sélectionnez Paramètres à droite de l’organisation.
    • Pour une application appartenant à une entreprise :
      • Si vous utilisez des utilisateurs gérés par l’entreprise, sélectionnez Votre entreprise pour accéder directement aux paramètres du compte d’entreprise.
      • Si vous utilisez des comptes personnels, sélectionnez Vos entreprises , puis sélectionnez Paramètres à droite de l’entreprise.
  3. Accédez aux paramètres de l’application GitHub :

    • Pour une application appartenant à un compte personnel ou à une organisation, sélectionnez Les paramètres du développeur dans la barre latérale. Sélectionnez ensuite GitHub Apps>New GitHub App.
    • Pour une application appartenant à une entreprise, accédez à Paramètres dans la barre latérale. Sélectionnez ensuite GitHub Apps>New GitHub App.

    Capture d’écran montrant comment sélectionner une nouvelle application GitHub.

  4. Fournissez les détails suivants pour configurer votre nouvelle application GitHub :

    1. Sous le nom de l’application GitHub, entrez un nom pour votre application.
    2. Sous URL de la page d’accueil, indiquez l’URL complète. Cette URL sert d’espace réservé et n’est pas utilisée dans ce processus.

    Capture d’écran montrant les détails de l’inscription d’une nouvelle application GitHub, y compris l’URL de la page d’accueil.

  5. Vérifiez que Expirer les jetons d’autorisation de l’utilisateur est sélectionné.

  6. Sous Webhook, décochez la case Active .

    Capture d’écran montrant comment désélectionner le webhook actif.

  7. Sous Autorisations, sélectionnez Autorisations du référentiel. Sélectionnez ensuite les autorisations suivantes pour l’application.

    Resource Permissions
    Problèmes Lecture et écriture
    Métadonnées Lecture seule
    Webhook Lecture et écriture
  8. Sous Où cette application GitHub peut-elle être installée ?, sélectionnez Uniquement sur ce compte ou sur n’importe quel compte.

  9. Sélectionnez Créer une application GitHub.

    Capture d’écran montrant les autorisations disponibles et le bouton permettant de créer une application GitHub.

Installer l’application GitHub dans votre référentiel

  1. Accédez à l’application GitHub que vous avez créée.

  2. Sélectionnez Installer l’application.

  3. Sélectionnez un compte, puis sélectionnez Installer. Utilisez le compte qui contient le référentiel pour créer des problèmes et charger des rapports d’analyse de code.

    Capture d’écran montrant comment sélectionner un compte pour l’installation de l’application.

  4. Sélectionnez Uniquement les référentiels sélectionnés, puis sélectionnez les référentiels appropriés dans Sélectionner des référentiels. Vous pouvez sélectionner plusieurs référentiels. Lorsque vous avez terminé, sélectionnez Installer.

    Capture d’écran montrant comment installer un référentiel sélectionné.

  5. Une fois l’installation terminée, notez l’URL du navigateur qui contient l’ID d’installation. Par exemple : https://github.com/settings/installations/<installationID>.

Obtenir les détails de l’application GitHub et la clé privée pour créer une connexion GitHub

Collectez les détails de l’application GitHub suivants et la clé privée, puis créez une connexion GitHub dans Azure Migrate.

  1. Accédez à l’application GitHub que vous avez créée et sélectionnez Modifier.

  2. Sous Général>à propos, recherchez la valeur d’ID d’application et notez-la.

  3. Faites défiler jusqu’à clés privées et sélectionnez Générer une clé privée.

    Note

    Faites pivoter la clé privée toutes les 90 jours pour la sécurité. Si vous générez une nouvelle clé privée, vous devez recréer la connexion, car la mise à jour de la clé n’est pas prise en charge actuellement.

  4. Le nouveau fichier de clé privée est téléchargé automatiquement sur votre ordinateur.

  5. Pour rechercher la valeur de l’ID d’installation , accédez à Installer l’application et sélectionnez Paramètres en regard du compte où l’application est installée.

  6. Une fois l’installation terminée, notez l’URL du navigateur qui contient l’ID d’installation. Par exemple : https://github.com/settings/installations/<installationID>.

Demander un rapport d’analyse de code pour une application web et une évaluation d’application à l’aide d’un problème de GitHub

  1. Ajoutez un rapport d’évaluation du code à l’aide de l’une de ces méthodes :

    • Dans la page Azure Migrate Overview, sous Explore inventory, sélectionnez Applicationsweb.
    • Dans la page Azure Migrate Overview, sous Explore Applications, sélectionnez Applications.
    • Dans la page Azure Migrate Overview, sous Decide et Plan, sélectionnez Assessments. Choisissez l’évaluation de l’application ou l’évaluation d’application web.
  2. Sous Ajouter des analyses du code, sélectionnez Utiliser l’évaluation GitHub Copilot.

    Capture d’écran montrant comment ajouter des insights de code à l’aide d’une évaluation de copilote GitHub.

  3. Dans le volet Ajouter des insights de code, sélectionnez Créer GitHub connexion.

  4. Dans le volet Créer une connexion GitHub, fournissez les détails suivants :

    Champ Détails
    Nom de connexion Entrez un nom pour la connexion. Ce nom apparaît dans la liste lorsque vous ajoutez un rapport à l’application web.
    URL du référentiel GitHub Spécifiez le référentiel GitHub pour créer un problème pour demander un rapport d’analyse de code. Chargez le rapport d’analyse du code dans ce problème à l’aide de GitHub Copilot.

    Utilisez ce référentiel uniquement pour créer des problèmes GitHub et lire des rapports d’analyse de code à partir de ces problèmes. Vous n’avez pas besoin d’inclure du code d’application dans ce référentiel.
    ID d’application Entrez l’ID d’application de l’application GitHub que vous avez créée, pour autoriser l’accès Azure Migrate.
    Clé privée Copiez tout le contenu du fichier de clé privée que vous avez généré pour votre application GitHub.
    ID d’installation Entrez l’ID d’installation de l’application GitHub installée sur le référentiel que vous avez spécifié précédemment.
  5. Après avoir ajouté les détails, sélectionnez Créer une connexion.

    Capture d’écran montrant comment créer une connexion GitHub.

  6. Attendez que la connexion soit correctement créée, puis sélectionnez Fermer.

  7. Dans le volet Ajouter des insights de code dans l’application web, dans la liste, sélectionnez Demander un rapport via GitHub.

  8. Dans le volet Ajouter des insights via GitHub volet, sélectionnez le nom de connexion approprié, puis sélectionnez Demande.

    Capture d’écran montrant comment demander un rapport via GitHub.

  9. Azure Migrate crée un problème de GitHub dans le référentiel que vous avez spécifié dans les détails de connexion.

  10. Lorsque le rapport d’analyse du code est chargé dans le ticket GitHub, Azure Migrate associe automatiquement le rapport à l’application web et aux applications correspondantes.

  11. Une fois la mise en correspondance terminée, la colonne Modifications du code sur les pages des applications et des applications web affiche Disponible. Toutes les évaluations des applications sélectionnées ou des applications web sont marquées comme obsolètes. Sélectionnez Recalculer pour démarrer le recalcul.

  12. Dans la page des applications ou des applications web, sélectionnez Disponible pour afficher les insights de code. Si des modifications de code sont incluses, la page affiche le nombre de modifications pour la cible de Azure recommandée.

Générer un rapport d’analyse de code à l’aide de l’extension de modernisation GitHub Copilot

  1. Générez un rapport d’analyse de code :

  2. Téléchargez le rapport dans une issue GitHub en utilisant l’invite dans GitHub Copilot.

Troubleshoot

Cette section vous aide à résoudre les problèmes liés aux insights de code dans Azure Migrate.

GitHub Copilot moderniser l’interface CLI

Impossible de générer un fichier de configuration : sélectionnez au moins une application web ou une application avec des applications web pour générer des insights de code.

Impossible de générer une évaluation du code dans l’interface CLI GitHub Copilot Moderniser : assurez-vous que l’installation est terminée, que vous remplissez les conditions préalables et que l’utilisateur dispose des autorisations nécessaires au référentiel de code source.

Impossible d'afficher les modifications de code dans Azure Migrate : si vous avez généré des insights de code avec succès à l'aide de l'interface CLI Moderniser, mais que vous ne pouvez pas afficher les modifications de code dans Azure Migrate, suivez ces instructions pour afficher les modifications du code :

  • Vérifiez que l’évaluation du code est terminée correctement pour toutes les applications web.
  • Assurez-vous que l’utilisateur qui exécute Modernize CLI dispose des autorisations du rôle Decide and Plan Expert pour le projet Azure Migrate.
  • Vérifiez que les applications web pertinentes sont incluses dans le fichier de configuration téléchargé.
  • Vérifiez que l’infrastructure des applications web dans le fichier de configuration est identique au référentiel de code mappé.

Fichier ZIP

Échec du chargement de rapports en tant que fichier ZIP

Suivez ces instructions pour importer des chemins d’accès et charger des fichiers ZIP sans erreurs.

Chargez un fichier ZIP qui répond à ces exigences :

  • Il contient uniquement des fichiers JSON.
  • Il est inférieur à 50 Mo. S’il n’est pas compressé, il est inférieur à 500 Mo.
  • Il contient moins de 100 fichiers.
  • Il ne contient pas de fichiers ZIP imbriqués.

Les erreurs peuvent apparaître si le fichier ZIP chargé ne répond pas aux contraintes requises. Voici quelques exemples.

Error Reason
Le type de contenu %Value; du blob téléchargé n’est pas pris en charge. Le fichier chargé n’est pas un fichier ZIP.
Zip contient trop de fichiers (%FileCount;). La limite est %MaxFileCount;. Le fichier ZIP contient plus de 100 fichiers.
La taille %UncompressedSize;MB totale non compressée du fichier ZIP chargé dépasse la limite de %MaxUncompressedSize;MB. La taille non compressée du fichier ZIP dépasse 500 Mo.
L’entrée %EntryName; zip n’est pas valide (chemin d’accès possible). Un nom de fichier dans l’archive ZIP contient des caractères de parcours de répertoires tels que ../../.*.
Le fichier ZIP chargé est vide et ne contient aucun fichier valide. Le fichier ZIP ne contient aucun fichier.

Si vous obtenez l’une de ces erreurs, supprimez les fichiers non valides ou supplémentaires et recréez le fichier ZIP avant de le télécharger à nouveau.

Fichiers partiels ou aucun fichier accepté pour la génération de rapports

Même si le fichier ZIP répond à toutes les instructions et est traité, les rapports peuvent ne pas apparaître pour chaque fichier qu’il contient. La raison peut être l’incompatibilité de schéma JSON ou les cibles non prises en charge dans le fichier de rapport.

Lorsque ce problème se produit, Azure Migrate utilise du contenu à partir de fichiers valides pour générer le rapport. Les fichiers qui échouent à la validation retournent des erreurs comme les exemples suivants.

Error Reason
Le contenu du rapport n’est pas valide ou n’est pas valide au format JSON attendu. Le schéma de rapport JSON n’est pas valide ou incompatible.
Le rapport ne contient pas de cibles prises en charge pour le cadre spécifié. Le rapport inclut des cibles qui Azure Migrate ne prennent pas en charge. AppCAT prend en charge de nombreuses cibles, mais Azure Migrate prend uniquement en charge un sous-ensemble.

Lorsque vous rencontrez ces erreurs, régénérez le rapport avec la configuration correcte et chargez-le à nouveau à l’aide d’un flux d’importation distinct.