Plan por lotes con el agente de modernización de GitHub Copilot

El plan de Batch le permite generar planes de modernización para varios repositorios mediante un flujo de trabajo y un objetivo de modernización compartido. En este artículo se muestra cómo crear planes coherentes en varias aplicaciones antes de iniciar la ejecución.

Mediante el plan por lotes, puede hacer lo siguiente:

  • Cree planes para varias aplicaciones en un flujo de trabajo guiado.
  • Aplique un objetivo de modernización coherente entre los repositorios.
  • Use los resultados de evaluación como contexto para mejorar la calidad del plan.
  • Revise los planes antes de la ejecución y decida qué repositorios modernizar primero.

El plan de Batch proporciona las siguientes ventajas:

  • Coherencia y control:

    • Objetivo compartido: Empiece con una instrucción de modernización común en todos los repositorios.
    • Salidas comparables: revise los planes en paralelo antes de ejecutarlos.
    • Refinamiento flexible: edite cada plan generado para reflejar las necesidades específicas del repositorio.
  • Planificación a escala:

    • Visibilidad de la cartera: comprenda cómo se aplica la misma solicitud en todas las aplicaciones.
    • Preparación reutilizable: reutilice la misma lista de repositorios y los resultados de la evaluación de las fases anteriores.
    • Toma de decisiones más rápida: genere primero planes y, a continuación, ejecute solo los repositorios que apruebe.

Prerequisites

  • Modernización de la CLI.
  • Acceso a todos los repositorios que quieras planificar.
  • Autenticación de GitHub configurada (gh auth login).
  • Una evaluación por lotes completada (recomendada) si desea que el agente use los resultados de la evaluación como contexto de planificación.

Sugerencia

La evaluación por lotes no es necesaria, pero normalmente genera planes más precisos y accionables, ya que el agente puede hacer referencia a problemas detectados y oportunidades de migración.

Configuración de repositorios

El agente de modernización admite varias maneras de especificar los repositorios que desea planear:

  • Carpeta actual: cree un plan para el proyecto en el directorio de trabajo actual.
  • Entrada manual: escriba directamente rutas de acceso de directorio local o direcciones URL de Git remotas.
  • Archivo de configuración del repositorio: use un archivo de configuración JSON que muestre todos los repositorios.

Archivo de configuración del repositorio

Para las operaciones por lotes en muchos repositorios, cree un archivo de configuración JSON para enumerar todos los repositorios. Por ejemplo, créelo en .github/modernize/repos.json en el directorio de trabajo o proporcione una ruta de acceso personalizada.

Formato (matriz de repositorios):

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

Cada entrada del repositorio admite los siguientes campos:

Campo Descripción Obligatorio
name Un nombre amigable para el repositorio (usado en informes y tableros).
url Dirección URL de clonación de Git en formato HTTPS o SSH. Uno de url o path

Sugerencia

Puede usar el mismo repos.json archivo en los flujos de trabajo de evaluación por lotes, plan de lotes y actualización por lotes.

El agente de modernización detecta automáticamente el archivo repos.json en .github/modernize/repos.json al seleccionar De un archivo de configuración en modo interactivo. También puede proporcionar una ruta de acceso personalizada.

Funcionamiento del plan por lotes

Flujo de trabajo de planeamiento por lotes:

  1. Selección del repositorio: elija los repositorios que desea incluir.
  2. Selección de contexto: opcionalmente, use los informes de evaluación disponibles como entrada.
  3. Definición de la instrucción: Describe tu objetivo de modernización una vez y aplícalo en todos los repositorios.
  4. Aclaración: responda a cualquier pregunta de seguimiento del agente.
  5. Generación de planes: el agente crea un plan para cada repositorio seleccionado.

Cada plan generado se guarda en el repositorio de destino y se puede revisar o editar antes de la ejecución.

Ejecución del plan por lotes

Después de configurar los repositorios, inicie el flujo de trabajo de planeamiento por lotes.

Modo interactivo

  1. Ejecute el agente de modernización:

    modernize
    
  2. Seleccione Plan en el menú principal.

    ○ How would you like to modernize your app?
    
        Assess
        Analyze modernization readiness across one or multiple applications
      > Plan
        Generate a structured plan to guide the agent
        Execute
        Run the tasks defined in the modernization plan
    
      Or select a quick-start scenario:
    
        Upgrade
            Upgrade runtimes and frameworks across one or multiple applications
    
  3. Elija cómo especificar los repositorios de destino. Seleccione Desde un archivo de configuración para usar un repos.json archivo.

    ○ Choose target repositories
    
        1. Current folder
          /Users/username/project
        2. Manual input
          Enter local path or remote URL
      > 3. From a config file
          /path/to/.github/modernize/repos.json
    

    Sugerencia

    También puede seleccionar Entrada manual para escribir rutas de acceso locales o direcciones URL remotas de Git directamente o carpeta actual para planear el proyecto en el directorio actual.

  4. Si el repos.json archivo se detecta en la ubicación predeterminada, el agente lo rellena automáticamente. De lo contrario, escriba la ruta de acceso al archivo de configuración y presione Entrar.

  5. Todos los repositorios se seleccionan de forma predeterminada. Anule la selección de los repositorios que quiera omitir y presione Entrar para confirmar la selección.

    • Use las teclas de dirección para navegar y presionar Espacio para alternar repositorios individuales.
  6. Seleccione 1. Mantener el plan local para generar planes en su equipo, o elija 2. Enviar al agente en la nube para que un agente en la nube los genere. La opción 2 es experimental.

  7. Escriba un nombre de plan o presione Entrar para usar el valor predeterminado.

  8. Escriba el objetivo de modernización como mensaje. Por ejemplo:

    • upgrade to Spring Boot 3 and prepare for Azure deployment
    • migrate the database to Azure PostgreSQL
    • containerize the application and deploy to Azure Container Apps
  9. Presione Entrar para generar los planes.

  10. El agente actúa automáticamente:

    • Clona cada repositorio seleccionado o envía un trabajo a un agente en la nube para cada repositorio.
    • Genera un plan local para cada repositorio o una PR con el plan para cada repositorio.

Pasos siguientes

Después de completar el plan por lotes, revise los planes y ejecútelos mediante el execute comando :

Proporcionar comentarios

Si tiene comentarios sobre el plan por lotes o el agente de modernización, cree un problema en el repositorio github-copilot-appmod o use el formulario de comentarios de modernización GitHub Copilot.