Partage via


Évaluation par lots avec l’agent de modernisation GitHub Copilot

L’évaluation par lots vous permet d’analyser plusieurs applications simultanément, en fournissant une vue complète du paysage de modernisation de vos applications. Cet article vous guide tout au long du processus d’évaluation efficace de plusieurs référentiels.

L’évaluation par lots est particulièrement utile pour la planification de la migration, car elle vous permet d’évaluer efficacement la préparation et les exigences de différentes applications en même temps. En utilisant l’évaluation par lots, vous pouvez évaluer différents référentiels en même temps et obtenir des rapports d’évaluation détaillés pour chaque application. Il produit deux types de rapports pour prendre en charge votre planification de la migration :

  • Rapport par application : fournit des insights détaillés sur tous les problèmes de modernisation identifiés au niveau du référentiel individuel.
  • Rapport agrégé : présente une perspective globale de toutes les applications évaluées, offrant des insights de synthèse, des recommandations sur les services Azure, les plateformes cibles et les chemins de mise à niveau. En outre, le rapport agrégé inclut des raccourcis pour faciliter l’accès à chaque rapport d’application.

L’évaluation par lots offre les avantages suivants :

  • Visibilité inter-applications :

    • Rapports agrégés : obtenir une vue complète sur les applications.
    • Analyse entre référentiels : identifiez les modèles et dépendances courants entre les applications.
    • Informations sur la hiérarchisation : Comprendre les applications qui ont besoin d’une attention immédiate.
  • Mise à l’échelle et efficacité :

    • Traitement parallèle : utilisez des agents de codage cloud pour traiter plusieurs référentiels simultanément.
    • Flux de travail automatisés : intégrer des pipelines CI/CD pour l’évaluation planifiée.
    • Économies de temps : réduisez le temps total d’évaluation des semaines aux heures.

Prerequisites

  • Moderniser l’interface CLI.
  • Accès à tous les référentiels que vous souhaitez évaluer.
  • L’authentification GitHub est configurée (gh auth login).

Configurer les référentiels

Pour activer l’évaluation par lots, créez un .github/modernize/repos.json fichier dans votre répertoire de travail qui répertorie tous les référentiels que vous souhaitez évaluer.

Vérifiez que vous disposez des autorisations appropriées pour les référentiels ou les dupliquez.

[
  {
    "name": "PhotoAlbum-Java",
    "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
  },
  {
    "name": "PhotoAlbum",
    "url": "https://github.com/Azure-Samples/PhotoAlbum.git"
  },
  {
    "name": "eShopOnWeb",
    "url": "https://github.com/dotnet-architecture/eShopOnWeb.git"
  }
]

Configuration du référentiel

Chaque entrée nécessite :

  • nom : nom convivial du référentiel (utilisé dans les rapports et les tableaux de bord).
  • URL : URL de clone Git au format HTTPS.

Conseil / Astuce

Vous pouvez inclure des référentiels provenant de différentes organisations et utiliser différentes méthodes d’authentification tant que vous avez accès.

Emplacement du fichier

Vous devez placer le repos.json fichier sur .github/modernize/repos.json.

L’agent de modernisation détecte automatiquement ce fichier lorsqu’il exécute des opérations par lots.

Exécuter l’évaluation par lots

Deux modes d’exécution sont disponibles :

  • Exécution locale : l’agent de modernisation traite les dépôts l’un après l’autre sur votre ordinateur local. Ce mode fonctionne mieux pour un plus petit ensemble d’applications ou pour les tests initiaux.
  • Délégation de l’Agent de codage cloud : l’agent de modernisation envoie des tâches à GitHub Cloud Coding Agents pour le traitement parallèle dans le cloud. Ce mode est plus rapide pour les scénarios multi-dépôts.

Conseil / Astuce

En utilisant la délégation de l’Agent de codage cloud, vous activez l’exécution parallèle sur tous les référentiels. Cette approche réduit considérablement le temps total d’évaluation pour les grands portefeuilles.

Mode interactif (évaluer localement)

  1. Exécutez l’agent de modernisation :

    modernize
    
  2. L’agent détecte le repos.json fichier et affiche la liste des référentiels :

    Capture d’écran de La modernisation de l’interface CLI montrant la liste des référentiels dans le terminal.

  3. Sélectionnez les référentiels à évaluer, puis appuyez Enter pour confirmer votre sélection.

    • Appuyez sur Ctrl+A pour sélectionner tous les référentiels.
    • Utilisez les touches de direction pour naviguer et appuyer Space pour sélectionner des référentiels individuels.
  4. Sélectionnez 1. Évaluer l’application à partir du menu principal.

    Capture d’écran de Modernize CLI montrant le menu Modernize dans le terminal.

  5. Pour exécuter l’évaluation, choisissez d’évaluer localement ou de déléguer aux agents de codage cloud. Sélectionnez 1. Évaluer localement.

    Capture d’écran de La modernisation de l’interface CLI montrant le menu Évaluer dans le terminal.

  6. L'agent fonctionne automatiquement :

    • Clone tous les dépôts sélectionnés.

    • Exécute l’évaluation sur chaque référentiel un par un.

    • Génère des rapports d’évaluation individuels.

      Capture d’écran de Modernize CLI montrant la sortie du terminal lors de la génération de rapports d’évaluation individuels.

    • Crée un rapport agrégé.

      Capture d’écran du Modernize CLI qui montre les résultats de la génération du rapport agrégé dans le terminal.

  7. Une fois l’évaluation terminée, l’agent ouvre automatiquement le rapport agrégé.

    Capture d’écran de Modernize CLI montrant le contenu du rapport agrégé.

Mode interactif (délégation aux agents de codage cloud)

Tout d’abord, configurez les agents de codage cloud dans chaque référentiel d’applications. Pour configurer les agents de programmation dans le cloud, clonez les exemples de dépôts.

Configuration pour les applications .NET

Configurer l’exécution sur Windows pour les applications .NET Framework

Par défaut, l’agent de codage Copilot s’exécute dans un environnement Ubuntu Linux. Pour les applications .NET Framework, vous avez besoin d’un environnement Windows. Pour l’activer, configurez .github/workflows/copilot-setup-steps.yaml dans la main branche de votre référentiel d’applications, comme illustré dans l’exemple suivant :

# Windows-based Copilot Setup Steps for .NET tasks
# Note: Windows runners have firewall limitations that may affect some network operations
# Use this workflow for .NET projects that require Windows-specific tooling

name: "Copilot Setup Step (Windows)"

on:
  workflow_dispatch:

jobs:
  copilot-setup-steps:
    runs-on: windows-latest
    permissions:
      contents: read
    steps:
      - name: Checkout code
        uses: actions/checkout@v5

En savoir plus à partir de : Personnalisation de l’environnement de développement de Copilot avec les étapes de configuration de Copilot

Désactiver le pare-feu

Désactivez le pare-feu intégré de l’agent de codage Copilot dans les paramètres de votre référentiel, comme illustré dans l’image suivante :

Capture d’écran de GitHub montrant les paramètres du référentiel avec le paramètre Activer le pare-feu défini sur Désactivé.

Configuration pour les applications Java

Configurez GitHub Copilot Modernization MCP Server dans la section Agent de codage cloud de vos paramètres de référentiel, comme illustré dans l’exemple suivant :

{
  "mcpServers": {
    "app-modernization": {
      "type": "local",
      "command": "npx",
      "tools": [
        "*"
      ],
      "args": [
        "-y",
        "@microsoft/github-copilot-app-modernization-mcp-server"
      ]
    }
  }
}

Capture d’écran de GitHub montrant les paramètres de l’agent de codage du référentiel avec la section de configuration MCP mise en surbrillance.

Étapes

  1. Exécutez l’agent de modernisation :

    modernize
    
  2. L’agent détecte le repos.json fichier et affiche la liste des référentiels :

    Capture d’écran de La modernisation de l’interface CLI montrant la liste des référentiels dans le terminal.

  3. Sélectionnez les référentiels à évaluer, puis appuyez Enter pour confirmer votre sélection.

    • Appuyez sur Ctrl+A pour sélectionner tous les référentiels.
    • Utilisez les touches de direction pour naviguer et appuyer Space pour sélectionner des référentiels individuels.
  4. Sélectionnez 1. Évaluer les applications à partir du menu principal.

    Capture d’écran de Modernize CLI montrant le menu Modernize dans le terminal.

  5. Pour exécuter l’évaluation, sélectionnez 2. Déléguer aux agents de codage cloud.

    Capture d’écran de Modernize CLI montrant le menu Évaluer avec l’option Déléguer aux agents de codage cloud sélectionnée.

  6. L’agent délègue automatiquement les tâches d’évaluation pour chaque référentiel aux agents de codage cloud et les exécute dans le cloud en parallèle.

    Capture d’écran de Modernize CLI montrant la progression de la délégation de l'évaluation aux agents de codage Cloud dans le terminal.

    L’agent extrait ensuite les résultats de l’évaluation par application vers local et génère le rapport agrégé localement.

    Capture d’écran de Modernize CLI montrant les rapports d'agrégation d'évaluation dans le terminal.

  7. Une fois l’évaluation terminée, l’agent ouvre automatiquement le rapport agrégé.

Mode non interactif (CLI)

Vous pouvez également utiliser le mode non interactif en spécifiant directement des arguments de commande. Utilisez la commande modernize assess :

Évaluer localement :

modernize assess --multi-repo

Évaluer en déléguant aux agents de codage cloud :

modernize assess --delegate cloud

Pour plus d’informations, consultez évaluer - Commandes CLI.

Présentation du rapport agrégé

Le rapport agrégé fournit une vue complète sur les applications évaluées comme suit :

Tableau de bord

  • Instantané de l'intégrité du portefeuille : nombre total d'applications, nombre d'applications nécessitant des mises à niveau, et nombre total de blocages et de problèmes.
  • Distribution de technologies : quels frameworks sont utilisés et combien d’applications les partagent.
  • Répartition des efforts : indique si la migration globale est une petite ou grande entreprise.

Recommandations

  • Services Azure : mappe les dépendances actuelles aux équivalents Azure recommandés. Les dépendances partagées entre les applications sont décidés une fois. Vous évitez donc de retravailler par application.
  • Plateforme cible : guide l’hébergement de choix, comme Container Apps et AKS, et présente des opportunités de consolidation.
  • Chemin de mise à niveau : identifie les applications qui ont besoin de mises à niveau de l’infrastructure en tant que prérequis, en séparant le travail de mise à niveau du travail de migration.
  • Vagues de migration : séquence les applications en fonction de la préparation et du risque en phases. Cette approche permet de gagner rapidement, tandis que les applications plus difficiles sont préparées en parallèle.

Matrice d’évaluation des applications

  • Vue d’ensemble rapide de chaque application sur les aspects de l’infrastructure, de la plateforme cible, de la recommandation de mise à niveau, de la répartition des problèmes (obligatoire, potentiel, facultatif), du dimensionnement des efforts, etc.
  • Liens vers des rapports d’application individuels pour descendre dans la hiérarchie si nécessaire.

Résolution des problèmes liés à l’évaluation par lots

Problèmes courants

Erreurs d’accès au référentiel :

  • Vérifiez l’authentification GitHub à l’aide de gh auth status.
  • Vérifiez que vous avez accès à tous les référentiels répertoriés dans repos.json.

Échecs de clonage :

  • Vérifiez que les URL du référentiel dans repos.json sont correctes et accessibles.
  • Vérifiez que vous disposez des autorisations d’accès appropriées pour tous les référentiels.
  • Vérifiez la connectivité réseau et les paramètres VPN.

Échecs d’évaluation :

  • Vérifiez si le référentiel contient des projets Java ou .NET valides.
  • Vérifiez que les fichiers de build existent, tels que pom.xml, , build.gradle*.csprojou *.sln.
  • Passez en revue les messages d’erreur dans la sortie de la console.

Problèmes de délégation de l’Agent de codage cloud :

  • Vérifiez que vous disposez des autorisations appropriées pour créer des flux de travail GitHub Actions.
  • Vérifiez les autorisations GitHub Actions et les limites de quota pour votre organisation.
  • Pour les applications .NET Framework, vérifiez que la configuration de l’exécuteur Windows est correctement définie.
  • Vérifiez la configuration de votre serveur MCP.

Étapes suivantes

Une fois l’évaluation par lots terminée, vous pouvez :

Poursuivez le flux de travail de modernisation :

En savoir plus :

Fournir des commentaires

Nous apprécions vos commentaires ! Si vous avez des commentaires sur l’évaluation par lots ou l’agent de modernisation, créez un problème au niveau du dépôt github-copilot-appmod ou utilisez le formulaire de commentaires de modernisation de GitHub Copilot.