Compartir a través de


Preparación de la infraestructura e implementación de aplicaciones con el agente de modernización de GitHub Copilot

El agente de modernización de GitHub Copilot admite el aprovisionamiento de infraestructura, la containerización y la implementación. Estas funcionalidades siguen el mismo modelo plan crear → plan ejecutar que se usa en todo el agente.

El flujo de trabajo consta de dos fases:

  1. Preparación de la infraestructura: genere y aprovisione la infraestructura de Azure.
  2. Contenedorización e implementación: Contenerice e implemente la aplicación.

Nota:

Estas dos fases son independientes. Puede ejecutarlos juntos o usar cada fase por separado. Por ejemplo, omita la preparación de la infraestructura si ya tiene un entorno aprovisionado o prepare la infraestructura ahora e implemente más adelante.

Prerrequisitos

  • Una suscripción de Azure: una suscripción de Azure activa para el aprovisionamiento de infraestructuras.
  • Modernización de la CLI: siga el inicio rápido para instalar y autenticar.

Fase 1: Preparación de la infraestructura

El agente de modernización crea un plan para aprovisionar la infraestructura de Azure en función de las entradas que proporcione. Esta funcionalidad incluye la capacidad de diseñar una zona de aterrizaje de Azure adaptada a la aplicación, que abarca las bases de seguridad, identidad, gobernanza y redes.

Entradas

El agente puede usar varios datos de entrada para la planificación de la infraestructura.

  • Código fuente de la aplicación: análisis de código base para determinar la pila de tecnología, las dependencias y los requisitos de recursos.
  • Informes de evaluación: informes de modernize assess, Azure Migrate u otras herramientas de migración y evaluación.
  • Diagramas de arquitectura: diagramas de arquitectura anteriores a la migración o documentos de diseño en el repositorio.
  • Requisitos de cumplimiento y seguridad: directivas organizativas, estándares de seguridad o directrices de zona de aterrizaje, proporcionadas como documentos en el repositorio o como lenguaje natural en el mensaje.

Creación del plan de infraestructura

Use modernize plan create con un mensaje que describa sus necesidades de infraestructura:

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

El agente genera un plan que incluye una arquitectura de Azure propuesta y una lista de recursos detallada que se va a aprovisionar. De forma predeterminada, el plan abarca tanto la generación de archivos IaC como el aprovisionamiento de recursos. Solo puede solicitar la generación de archivos IaC mediante su solicitud.

Sugerencia

Combine diferentes entradas y preferencias en el mensaje. Por ejemplo:

  • "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"

Revisión del plan

Revise los archivos de salida antes de la ejecución:

  • Archivo del plan (.github/modernize/infra-setup/plan.md): estrategia para la infraestructura y arquitectura proposicional.
  • Lista de tareas (.github/modernize/infra-setup/tasks.json): tareas específicas que realiza el agente.

Puede editar ambos archivos para ajustar las configuraciones de recursos o modificar el enfoque antes de la ejecución.

Ejecución del plan de infraestructura

Ejecute el plan:

modernize plan execute --plan-name infra-setup

Comprobación de la infraestructura

Revise el código de infraestructura generado y confirme los recursos de Azure a través de Azure Portal o la CLI de Azure:

git status
git diff main

Fase 2: Contenedorización e implementación

Use un segundo plan para incluir en contenedores la aplicación e implementarla.

Nota:

Esta fase requiere código fuente de la aplicación que ya ha migrado o actualizado. Complete la modernización del código antes de continuar con la implementación y la contenedorización.

Creación del plan de implementación

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

Puede contenerizar e implementarlas juntas, o gestionarlas por separado con planes individuales.

  • Contenedorización: genera un Dockerfile para el proyecto y valida la compilación de la imagen de contenedor.
  • Implementación: crea todos los archivos de configuración y manifiestos necesarios en función del servicio de hospedaje de Azure de destino, implementa la aplicación y genera un script de implementación reutilizable para su uso futuro.

Sugerencia

Personalice el mensaje para que coincida con sus necesidades:

  • "containerize my app and create dockerfile": solo containeriza, sin desplegar.
  • "deploy my app to the AKS cluster in subscription: <sub-id>, resource group: <rg-name>": implemente una aplicación ya en contenedor.

Revisión del plan

Revise los archivos de plan generados:

  • Archivo de plan (.github/modernize/deploy/plan.md): estrategia de contenedorización e implementación.
  • Lista de tareas (.github/modernize/deploy/tasks.json): tareas de implementación específicas.

Ejecución del plan de implementación

modernize plan execute --plan-name deploy

Comprobación de la implementación

  1. Revisión de los cambios de código: compruebe los cambios de dockerfile, manifiestos de implementación y configuración generados.

    git status
    git diff main
    
  2. Validar la aplicación en ejecución: acceda a la aplicación implementada a través de la dirección URL proporcionada por el servicio de hospedaje de destino.

Uso del modo interactivo

También puede realizar ambas fases a través de la TUI interactiva ejecutando modernize y seleccionando Crear plan de modernización en el menú.

Pasos siguientes