Partage via


Préparer l’infrastructure et déployer des applications avec l’agent de modernisation gitHub Copilot

L’agent de modernisation De Copilot GitHub prend en charge l’approvisionnement, la conteneurisation et le déploiement de l’infrastructure. Ces fonctionnalités suivent le même plan de création → modèle d’exécution de plan utilisé dans l’agent.

Le flux de travail se compose de deux phases :

  1. Préparation de l’infrastructure : générez et approvisionnez l’infrastructure Azure.
  2. Conteneurisation et déploiement : Conteneuriser et déployer l’application.

Note

Ces deux phases sont indépendantes. Vous pouvez les exécuter ensemble ou utiliser chaque phase séparément. Par exemple, ignorez la préparation de l’infrastructure si vous disposez déjà d’un environnement approvisionné, ou préparez l’infrastructure maintenant et déployez ultérieurement.

Prerequisites

  • Un abonnement Azure : abonnement Azure actif pour l’approvisionnement d’infrastructure.
  • Moderniser l’interface CLI : suivez le guide de démarrage rapide pour installer et s’authentifier.

Phase 1 : Préparation de l’infrastructure

L’agent de modernisation crée un plan pour approvisionner l’infrastructure Azure en fonction des entrées que vous fournissez. Cette fonctionnalité inclut la possibilité de concevoir une zone d’atterrissage Azure adaptée à votre application, couvrant la mise en réseau, l’identité, la gouvernance et les bases de sécurité.

Données d'entrée

L’agent peut utiliser différentes entrées pour informer le plan d’infrastructure :

  • Code source de l’application : analyse codebase pour déterminer la pile technologique, les dépendances et les besoins en ressources.
  • Rapports d’évaluation : rapports provenant d’Azure modernize assessMigrate ou d’autres outils de migration et d’évaluation.
  • Diagrammes d’architecture : diagrammes d’architecture de pré-migration ou documents de conception dans le référentiel.
  • Conformité et exigences de sécurité : politiques organisationnelles, normes de sécurité ou directives de zone de réception, fournies sous forme de documents dans le référentiel ou en langage naturel dans votre prompt.

Créer le plan d’infrastructure

Utilisez modernize plan create une invite décrivant vos besoins en infrastructure :

modernize plan create "help create azure infrastructure for my app" --plan-name infra-setup

L’agent génère un plan qui inclut une architecture Azure proposée et une liste de ressources détaillée à provisionner. Par défaut, le plan couvre à la fois la génération de fichiers IaC et l’approvisionnement des ressources. Vous pouvez demander uniquement la génération de fichiers IaC via votre invite.

Conseil / Astuce

Combinez différentes entrées et préférences dans votre invite. Par exemple:

  • "create an Azure landing zone tailored to my application's architecture and requirements"
  • "create azure infrastructure based on the assessment report, following our compliance policies in docs/security-requirements.md"
  • "generate Bicep files for the target architecture in the design doc, don't provision yet"
  • "provision azure resources based on the architecture diagram and assessment findings"

Passer en revue le plan

Passez en revue les fichiers de sortie avant l’exécution :

  • Fichier de plan (.github/modernize/infra-setup/plan.md) : stratégie d’infrastructure et architecture proposée.
  • Liste des tâches (.github/modernize/infra-setup/tasks.json) : tâches spécifiques effectuées par l’agent.

Vous pouvez modifier les deux fichiers pour ajuster les configurations de ressources ou modifier l’approche avant l’exécution.

Exécuter le plan d’infrastructure

Exécutez le plan :

modernize plan execute --plan-name infra-setup

Vérifier l’infrastructure

Passez en revue le code d’infrastructure généré et confirmez les ressources Azure via le portail Azure ou Azure CLI :

git status
git diff main

Phase 2 : Conteneurisation et déploiement

Utilisez un deuxième plan pour conteneuriser votre application et la déployer.

Note

Cette phase nécessite le code source de l’application que vous avez déjà migré ou mis à niveau. Terminez votre modernisation du code avant de poursuivre la conteneurisation et le déploiement.

Créer le plan de déploiement

modernize plan create "containerize and deploy my app to azure, subscription: <sub-id>, resource group: <rg-name>" --plan-name deploy

Vous pouvez conteneuriser et déployer ensemble, ou les gérer séparément avec des plans individuels.

  • Conteneurisation : génère un fichier Dockerfile pour votre projet et valide la build d’image conteneur.
  • Déploiement : crée tous les fichiers de configuration et manifestes requis en fonction du service d’hébergement Azure cible, déploie l’application et génère un script de déploiement réutilisable pour une utilisation ultérieure.

Conseil / Astuce

Personnalisez l’invite pour répondre à vos besoins :

  • "containerize my app and create dockerfile": conteneuriser uniquement, sans déployer.
  • "deploy my app to the AKS cluster in subscription: <sub-id>, resource group: <rg-name>": déployez une application déjà conteneurisée.

Passer en revue le plan

Passez en revue les fichiers de plan générés :

  • Fichier de plan (.github/modernize/deploy/plan.md) : stratégie de conteneurisation et de déploiement.
  • Liste des tâches (.github/modernize/deploy/tasks.json) : tâches de déploiement spécifiques.

Exécuter le plan de déploiement

modernize plan execute --plan-name deploy

Vérifier le déploiement

  1. Passez en revue les modifications de code : vérifiez le fichier Dockerfile généré, les manifestes de déploiement et les modifications de configuration.

    git status
    git diff main
    
  2. Validez l’application en cours d’exécution : accédez à votre application déployée via l’URL fournie par le service d’hébergement cible.

Utiliser le mode interactif

Vous pouvez également effectuer les deux phases via le TUI interactif en exécutant modernize et en sélectionnant Créer un plan de modernisation dans le menu.

Étapes suivantes