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.
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 Aggregated : présente une perspective globale de toutes les applications évaluées, offrant des insights récapitulatives, 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
L’agent de modernisation prend en charge plusieurs façons de spécifier les référentiels que vous souhaitez évaluer :
- Dossier actif : évaluez le projet dans votre répertoire de travail actuel.
- Entrée manuelle : entrez directement les chemins d’accès au répertoire local ou les URL Git distantes.
- Fichier de configuration du référentiel : utilisez un fichier de configuration JSON qui répertorie tous les référentiels.
Fichier de configuration du référentiel
Pour les opérations par lots sur de nombreux référentiels, créez un fichier de configuration JSON pour répertorier tous les référentiels. Par exemple, créez-le .github/modernize/repos.json dans votre répertoire de travail ou fournissez un chemin personnalisé.
Vérifiez que vous disposez des autorisations appropriées pour les référentiels ou les dupliquez.
Format simple (tableau de référentiels) :
[
{
"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"
}
]
Format complet (avec les chemins de branche et les chemins locaux) :
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "local-project",
"path": "/absolute/path/to/project"
}
]
}
Chaque entrée de dépôt prend en charge les champs suivants :
| Champ | Description | Obligatoire |
|---|---|---|
name |
Nom convivial du référentiel (utilisé dans les rapports et les tableaux de bord). | Oui |
url |
URL de clonage Git au format HTTPS ou SSH. | L’un ou l’autre urlpath |
path |
Chemin d’accès absolu du répertoire local. | L’une de url ou path |
branch |
Branche à vérifier après le clonage. | Non |
description |
Description lisible par l’homme. | Non |
Format complet avec regroupement d’applications (facultatif, pour les rapports organisés) :
Vous pouvez ajouter une apps[] section pour regrouper des référentiels dans des applications logiques. Lorsque les applications sont définies, le rapport agrégé organise les résultats par application et prend en charge la distribution de rapports vers des destinations externes.
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
],
"apps": [
{
"identifier": "photo-app",
"description": "Photo management application",
"repos": ["PhotoAlbum-Java"],
"output": {
"type": "local",
"path": "/path/to/reports/photo-app"
}
}
]
}
Chaque entrée d’application prend en charge :
| Champ | Description | Obligatoire |
|---|---|---|
identifier |
Nom d'affichage unique de l’application. | Oui |
description |
Description lisible par l’homme. | Non |
repos |
Liste des noms de dépôts appartenant à cette application. | Oui |
output |
Où distribuer le rapport d'évaluation de l'application après la génération. | Non |
Le output champ prend en charge les types de distribution suivants :
| Catégorie | Description | Champs obligatoires |
|---|---|---|
local |
Copiez des rapports dans un répertoire local. | path |
git |
Envoyer (push) des rapports vers un dépôt Git. Le format d’URL est https://github.com/org/repo.git#branch:path. |
url |
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.
L’agent de modernisation détecte automatiquement le fichier repos.json à .github/modernize/repos.json lorsque vous sélectionnez à partir d’un fichier de configuration en mode interactif. Vous pouvez également fournir un chemin personnalisé.
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. Prend en charge à la fois l’URL Git et les dépôts de chemins d’accès locaux.
- Délégation de l'agent de Cloud Coding : l’agent de modernisation envoie des tâches aux agents de codage cloud de GitHub pour un traitement parallèle. Ce mode est plus rapide pour les scénarios multi-dépôts.
Important
La délégation de l’Agent de codage cloud nécessite que les dépôts aient des URL de référentiel GitHub (github.com). Les dépôts de chemin d'accès local et les fournisseurs non GitHub (GitLab, Azure DevOps) ne sont pas pris en charge pour la délégation cloud. Utilisez l’exécution locale pour ces référentiels.
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)
Exécutez l’agent de modernisation :
modernizeSélectionnez Évaluer dans le menu principal.
Choisissez comment spécifier vos référentiels cibles. Sélectionnez Dans un fichier de configuration pour utiliser un
repos.jsonfichier.Conseil / Astuce
Vous pouvez également sélectionner Entrée manuelle pour entrer des chemins d’accès locaux ou des URL Git distantes directement, ou Dossier actif pour évaluer le projet dans votre répertoire actif.
Si le
repos.jsonfichier est détecté à l’emplacement par défaut, l’agent le remplit automatiquement. Sinon, entrez le chemin d’accès à votre fichier de configuration, puis appuyez sur Entrée.Tous les référentiels sont sélectionnés par défaut. Désélectionnez les référentiels que vous souhaitez ignorer, puis appuyez sur Entrée pour confirmer votre sélection.
- Utilisez les touches de direction pour naviguer et appuyer sur Espace pour activer/désactiver les dépôts individuels.
Choisissez le mode d’exécution. Sélectionnez Évaluer localement.
Sélectionnez les domaines d’évaluation à analyser. Choisissez parmi Java mise à niveau et Cloud Readiness, puis appuyez sur Enter.
Passez en revue et configurez les options d’évaluation. La page de configuration affiche les options regroupées par langue et domaine :
- Java / GENERAL : Couverture de l’analyse (problèmes uniquement, problèmes et technologies, ou problèmes, technologies et dépendances).
- Java / JAVA UPGRADE : Le runtime cible est OpenJDK 11, 17 ou 21.
- Java / CLOUD READINESS : Services de calcul cibles, système d’exploitation cible et conteneurisation.
- .NET / CLOUD READINESS : Services de calcul cibles.
Utilisez les touches de direction pour naviguer, appuyez sur Entrée pour modifier une valeur ou sélectionnez Continuer pour continuer avec les paramètres actuels.
Conseil / Astuce
Les valeurs par défaut recommandées fonctionnent pour la plupart des scénarios. Vous devez uniquement modifier ces paramètres si vous avez des exigences spécifiques, telles que le ciblage d’une version JDK spécifique ou d’un service de calcul Azure.
Entrez le chemin de sortie des résultats de l’évaluation ou appuyez sur Entrée pour accepter la valeur par défaut.
L'agent fonctionne automatiquement :
Une fois l’évaluation terminée, l’agent ouvre automatiquement le 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 sur : Customisation 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 Copilot dans les paramètres de votre référentiel, comme illustré dans l'image suivante :
Configuration des applications Java
Configurez la section "Modernisation MCP Server" de GitHub Copilot dans l'agent cloud de codage de vos paramètres de référentiel, comme démontré dans l’exemple suivant :
{
"mcpServers": {
"app-modernization": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"-y",
"@microsoft/github-copilot-app-modernization-mcp-server"
]
}
}
}
Étapes
Exécutez l’agent de modernisation :
modernizeSélectionnez Évaluer dans le menu principal.
Choisissez comment spécifier vos référentiels cibles. Sélectionnez Depuis un fichier de configuration pour utiliser un fichier
repos.json, ou sélectionnez Entrée manuelle pour saisir directement les URL des dépôts GitHub.Si vous avez sélectionné À partir d’un fichier de configuration et que le
repos.jsonfichier est détecté à l’emplacement par défaut, l’agent le remplit automatiquement. Sinon, entrez le chemin d’accès à votre fichier de configuration, puis appuyez sur Entrée.Tous les référentiels sont sélectionnés par défaut. Désélectionnez les référentiels que vous souhaitez ignorer, puis appuyez sur Entrée pour confirmer votre sélection.
- Utilisez les touches de direction pour naviguer et appuyer sur Espace pour activer/désactiver les dépôts individuels.
Choisissez le mode d’exécution. Sélectionnez Déléguer aux agents cloud.
Note
Lorsque vous déléguerez des agents de codage cloud, les étapes de configuration de la sélection et de l’évaluation du domaine ne sont pas prises en charge. L’agent cloud utilise les configurations par défaut pour exécuter l’évaluation.
Entrez le chemin de sortie des résultats de l’évaluation ou appuyez sur Entrée pour accepter la valeur par défaut.
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.
L’agent extrait les résultats de l’évaluation par application vers local et génère le rapport agrégé localement.
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 :
Évaluez localement à l’aide d’un fichier de configuration de référentiel :
modernize assess --source .github/modernize/repos.json
Évaluez plusieurs référentiels en spécifiant directement des sources :
modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
Évaluer en déléguant aux agents de codage cloud :
modernize assess --source .github/modernize/repos.json --delegate cloud --wait
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
- Azure Services : cartographie les dépendances actuelles aux équivalents recommandés dans Azure. Les dépendances partagées entre les applications sont décidés une fois. Vous évitez donc de retravailler par application.
- Plateforme cible : guide le choix d’hébergement, tel que Azure 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.jsonsont 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*.csproj,*.sln, ou*.slnx. - 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 GitHub Actions autorisations et 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 :
- Exécutez la mise à niveau par lots entre les référentiels : appliquez des mises à niveau cohérentes en fonction des résultats de l’évaluation.
En savoir plus :
- Créez des compétences personnalisées pour des modèles spécifiques à l’organisation.
- Découvrez les commandes CLI.
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 dans le dépôt github-copilot-appmod ou utilisez le formulaire de commentaires de modernisation GitHub Copilot.