Partilhar via


Prepare a infraestrutura e implemente aplicações com o agente de modernização GitHub Copilot

O agente de modernização do GitHub Copilot suporta o provisionamento de infraestruturas, contentorização e implementação. Estas capacidades seguem o mesmo modelo de criação de plano → de execução utilizado em todo o agente.

O fluxo de trabalho consiste em duas fases:

  1. Preparação de infraestrutura: Gerar e provisionar infraestrutura Azure.
  2. Containerização e implementação: Containerize e implemente a aplicação.

Observação

Estas duas fases são independentes. Podes usá-los juntos ou usar cada fase separadamente. Por exemplo, salta a preparação da infraestrutura se já tiveres um ambiente provisionado, ou prepara a infraestrutura agora e implementa mais tarde.

Pré-requisitos

  • Uma subscrição Azure: Uma subscrição Azure ativa para provisionamento de infraestrutura.
  • Modernize CLI: Siga o quickstart para instalar e autenticar.

Fase 1: Preparação da infraestrutura

O agente de modernização cria um plano para provisionar a infraestrutura Azure com base nos inputs que fornece. Esta funcionalidade inclui a capacidade de desenhar uma zona de aterragem Azure adaptada à sua aplicação, abrangendo redes, identidade, governação e fundamentos de segurança.

Insumos

O agente pode usar vários inputs para informar o plano de infraestrutura:

  • Código-fonte da aplicação: Análise de base de código para determinar pilha tecnológica, dependências e requisitos de recursos.
  • Relatórios de avaliação: Relatórios de modernize assess, Azure Migre ou outras ferramentas de migração e avaliação.
  • Diagramas de arquitetura: Diagramas de arquitetura pré-migração ou documentos de design no repositório.
  • Requisitos de conformidade e segurança: Políticas organizacionais, normas de segurança ou diretrizes para zonas de aterragem, fornecidos como documentos no repositório ou em linguagem natural no seu prompt.

Criar o plano de infraestruturas

Use modernize plan create com um prompt que descreva as suas necessidades de infraestrutura:

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

O agente gera um plano que inclui uma arquitetura Azure proposta e uma lista detalhada de recursos a serem provisionadas. Por defeito, o plano cobre tanto a geração de ficheiros IaC como o provisionamento de recursos. Só pode pedir geração de ficheiros IaC através do seu prompt.

Sugestão

Combina diferentes entradas e preferências no teu prompt. Por exemplo:

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

Revise o plano

Revise os ficheiros de saída antes da execução:

  • Ficheiro do plano (.github/modernize/infra-setup/plan.md): Estratégia de infraestrutura e arquitetura proposta.
  • Lista de tarefas (.github/modernize/infra-setup/tasks.json): Tarefas específicas que o agente realiza.

Pode editar ambos os ficheiros para ajustar configurações de recursos ou modificar a abordagem antes da execução.

Executar o plano de infraestruturas

Execute o plano:

modernize plan execute --plan-name infra-setup

Verificar infraestrutura

Revise o código da infraestrutura gerado e confirme os recursos Azure através do portal Azure ou da CLI Azure:

git status
git diff main

Fase 2: Contentorização e implementação

Use um segundo plano para containerizar a sua aplicação e implementá-la.

Observação

Esta fase requer código-fonte da aplicação que já tenha migrado ou atualizado. Conclua a modernização do seu código antes de avançar com a contentorização e implementação.

Criar o plano de implementação

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

Podes contentirizar e implementar em conjunto, ou tratá-los separadamente com planos individuais.

  • Containerização: Gera um Dockerfile para o seu projeto e valida a criação da imagem do container.
  • Implementação: Cria todos os ficheiros de configuração e manifestos necessários com base no serviço de alojamento Azure alvo, implementa a aplicação e gera um script de implementação reutilizável para uso futuro.

Sugestão

Personalize o prompt para corresponder às suas necessidades:

  • "containerize my app and create dockerfile": apenas contentorizar, sem implantar.
  • "deploy my app to the AKS cluster in subscription: <sub-id>, resource group: <rg-name>": implementar uma aplicação já contentorizada.

Revise o plano

Revise os ficheiros do plano gerados:

  • Ficheiro de plano (.github/modernize/deploy/plan.md): Conteinerização e estratégia de implementação.
  • Lista de tarefas (.github/modernize/deploy/tasks.json): Tarefas específicas de implementação.

Executar o plano de implantação

modernize plan execute --plan-name deploy

Verificar a implantação

  1. Revise as alterações ao código: Verifique o Dockerfile gerado, os manifestos de implementação e as alterações de configuração.

    git status
    git diff main
    
  2. Valide a aplicação em curso: Aceda à sua aplicação implementada através do URL fornecido pelo serviço de alojamento alvo.

Usar o modo interativo

Também pode realizar ambas as fases através do TUI interativo, executando modernize e selecionando Criar plano de modernização no menu.

Passos seguintes