Adicione insights sobre o código usando a modernização do GitHub Copilot (prévia)

Este artigo descreve como adicionar insights sobre o código usando a modernização do GitHub Copilot ao migrar aplicativos para os serviços do Azure. Adicionar insights de código ajuda você a avaliar melhor a preparação da migração e obter recomendações para estratégias de migração com base nas alterações de código identificadas durante a verificação.

Os insights de código para aplicativos Web fornecem alterações necessárias para modernizá-los para AKS (Serviço de Kubernetes do Azure) e Serviço de Aplicativo do Azure. As alterações de código de um aplicativo constituem um agregado das alterações de código dos aplicativos Web filho.

Neste artigo, você aprenderá como:

  • Gere um relatório de avaliação de código GitHub Copilot para aplicativos Web.
  • Adicione informações sobre o código para aplicações web nas páginas de inventário e avaliação de aplicações.
  • Adicione informações do código para aplicativos web nas páginas de inventário e avaliação de aplicativos web.
  • Exibir informações do código.

Você pode adicionar insights de código usando qualquer um dos seguintes métodos:

  • Usar a CLI de modernização do GitHub Copilot. Use esse método para executar uma avaliação em escala para vários aplicativos Web simultaneamente, com upload automatizado de relatório para Migrações para Azure. Essa abordagem permite que administradores de nuvem e desenvolvedores de aplicativos colaborem ao aderirem às diretrizes de segurança de código de sua organização.
  • Carregue usando um arquivo ZIP. Use esse método quando você já tiver um relatório de verificação de código ou permissões para gerar um. Ele requer o mapeamento manual de relatórios para cada aplicativo Web.
  • Solicite um relatório via uma issue do GitHub. Use esse método quando você não puder gerar um relatório de insights de código por conta própria ou não tiver acesso ao repositório de código.

Observação

No momento, não há suporte para insights de código por meio de pontos de extremidade privados.

Execute avaliações de código em grande escala com a CLI do GitHub Copilot Modernize

O uso da CLI GitHub Copilot Modernizar habilita a avaliação de código em escala para vários aplicativos e aplicativos Web, com o código-fonte distribuído em vários repositórios.

Primeiro, você baixa um arquivo de configuração de Migrações para Azure que contém detalhes de todos os aplicativos Web. Em seguida, você atualiza o mapeamento de aplicativos Web para repositórios e executa a avaliação usando a CLI GitHub Copilot Modernizar. As alterações de código são mapeadas automaticamente de volta para Migrações para Azure para os aplicativos e aplicativos Web correspondentes.

Pré-requisitos para usuários Migrações para Azure

  • Um projeto Migrações para Azure com descoberta bem-sucedida de aplicativos e aplicativos Web.
  • ASP.NET ou aplicativos Web Java. Há suporte para esses tipos de aplicativos Web.
  • Serviço de Aplicativo do Azure ou Serviço de Kubernetes do Azure. Há suporte a Code Insights para estes destinos do Azure.

Pré-requisitos para usuários do GitHub Copilot Modernize CLI

  • Uma licença GitHub Copilot Gratuita, Pro, Pro+, Business ou Enterprise.
  • Instalação da CLI do Azure e do GitHub Copilot Modernize CLI. Entre em Azure e GitHub Copilot.
  • A função Especialista em Decidir e Planejar ou privilégios maiores para o projeto do Migrações para Azure.

Para obter etapas detalhadas de instalação, consulte as instruções da CLI de Modernização.

Baixar o arquivo de configuração do Migrações para Azure

  1. Gere o arquivo de configuração usando qualquer um desses métodos:

    • Na página Migrações para Azure Overview, em Explore Applications, selecione Applications.
    • Na página Migrações para Azure Overview, em Explore inventory, selecione Web apps.
    • Na página Visão geral do Migrações para Azure, em Decidir e planejar, selecione Avaliações. Escolha a avaliação relevante do aplicativo ou a avaliação do aplicativo Web.
  2. Selecione os aplicativos ou aplicativos Web para os quais você deseja adicionar insights de código. Em seguida, selecione Adicionar insights de código>GitHub Copilot modernization.

    Captura de tela que mostra a seleção da opção de modernização GitHub Copilot.

  3. Por padrão, A avaliação de código em escala com carregamento automatizado de relatórios é selecionada para adicionar alterações ao código usando a CLI Modernize do GitHub Copilot.

  4. Examine a lista de aplicativos Web. Você pode remover os aplicativos Web para os quais não precisa de insights de código.

  5. Selecione Baixar para gerar um arquivo JSON que contém detalhes de todos os aplicativos Web a serem avaliados e espaços reservados para adicionar informações do repositório. O download pode levar alguns segundos para ser concluído.

    Captura de tela que mostra a opção de configuração de download.

Execute o arquivo de configuração usando a CLI Modernize

  1. Antes de executar o arquivo de configuração na CLI modernizar, você deve atualizar o arquivo com o nome e o caminho do repositório de código para cada aplicativo Web. O arquivo tem duas seções: apps e repos.

    Captura de tela que mostra como atualizar o arquivo com o nome e o caminho do repositório de código para cada aplicativo Web.

  2. apps Na seção, examine o nome do aplicativo Web, o servidor de hospedagem, o aplicativo pai e a versão da estrutura.

  3. Na seção apps, na propriedade repos, substitua <sample-git-repo> e <sample-local-repo> pelo nome do repositório que está associado ao aplicativo web. Você pode mencionar nomes de vários repositórios de GitHub e caminhos locais.

  4. repos Na seção, atualize os mesmos nomes de repositório descritos na etapa anterior. Em seguida, substitua <https://github.com/<sample-org>/<sample-repo>.git> pelo caminho para o repositório GitHub. O campo branch é opcional. Se o repositório for armazenado localmente, substitua </absolute/path/to/project> por detalhes do caminho.

  5. Repita as etapas anteriores para todos os aplicativos Web no arquivo de configuração.

  6. Abra o GitHub Copilot Modernize CLI. Autenticar para GitHub Copilot e Azure usando gh auth login e az login. Verifique se ao usuário que está executando o Modernize CLI foi atribuída a função Especialista em Decisão e Planejamento no projeto do Migrações para Azure.

  7. Execute modernize assess --source <local path to configuration file>. A avaliação de código pode levar alguns minutos para ser concluída.

  8. Após uma avaliação de código bem-sucedida, os relatórios são enviados automaticamente para Migrações para Azure. Você recebe a mensagem Distribution complete: m/n app(s) distributed.

  9. As alterações de código são atualizadas automaticamente para os aplicativos e aplicativos Web selecionados no Migrações para Azure.

Exibir insights de código

  1. Para exibir insights de código para aplicativos, vá para Explorar aplicativos>aplicativos. Na coluna Alterações de código , selecione Disponível.

    Captura de tela que mostra como selecionar opções de alteração de código no painel Aplicativos.

  2. Para ver insights sobre o código de aplicativos Web, acesse Explorar inventário>Aplicativos Web. Na coluna Alterações de código , selecione Disponível.

  3. Se você já criou uma avaliação para os aplicativos ou aplicativos Web para os quais adicionou insights de código, essa avaliação está desatualizada. Recalcule a avaliação para exibir insights de código. Você pode encontrar alterações de código em Exibir detalhes para cada avaliação.

  4. Examine as alterações de código selecionando a guia relevante: Problemas, Avisos ou Informações. Essas guias fornecem uma exibição resumida das alterações de código nos aplicativos Web na avaliação.

  5. A lista fornece diretrizes de correção acionáveis e esforço estimado para correções de código. O esforço com o GitHub Copilot é estimado em aproximadamente 40% do esforço manual necessário.

    Captura de tela que mostra a exibição resumida de alterações de código nos aplicativos Web em uma avaliação.

  6. Se você já tiver criado a avaliação, as alterações de código aparecerão apenas para o destino recomendado e a estratégia de preparação e migração poderá mudar. Se as alterações de código necessárias forem significativas, a preparação poderá mudar de Pronto para Pronto com condições.

Carregar manualmente relatórios de verificação de código usando um arquivo ZIP

Você pode gerar um relatório de verificação de código manualmente e carregá-lo como um arquivo ZIP para Migrações para Azure.

Pré-requisitos

  • Aplicativos Web para os quais você deseja gerar um relatório de verificação de código

Gerar um relatório de avaliação de código GitHub Copilot

Você pode gerar um relatório de avaliação de código usando a extensão de modernização GitHub Copilot ou a CLI do AppCAT.

Extensão de modernização do GitHub Copilot

  1. Instale a extensão de modernização GitHub Copilot no Visual Studio Code.

  2. Abra o código-fonte do seu aplicativo Web no repositório GitHub. Você deve ter permissões para o repositório de código.

  3. Na barra lateral, selecione modernização do GitHub Copilot. Na seção AVALIAÇÃO, selecione Migrar para Azure ou Executar Avaliação.

  4. Quando a avaliação for concluída, você poderá baixar o arquivo report.json para o local de sua escolha.

  5. Crie um arquivo ZIP para todos os relatórios que você deseja adicionar.

AppCAT CLI

  1. Instalar o AppCAT:

  2. Gere relatórios do AppCAT para todos os aplicativos Web avaliados:

  3. Crie um arquivo ZIP para todos os relatórios que você deseja adicionar.

Carregar o arquivo ZIP

  1. Adicione um relatório de avaliação de código usando qualquer um desses métodos:

    • Na página Migrações para Azure Overview, em Explore inventory, selecione Web apps.
    • Na página Migrações para Azure Overview, em Explore Applications, selecione Applications.
    • Na página Visão geral do Migrações para Azure, em Decidir e planejar, selecione Avaliações. Escolha a avaliação do aplicativo ou a avaliação do aplicativo Web.
  2. Selecione os aplicativos ou aplicativos Web para os quais você deseja adicionar insights de código. Em seguida, selecione Adicionar insights de código>Modernização do GitHub Copilot.

  3. Selecione avaliação de código único com upload manual de relatório.

    Captura de tela que mostra a seleção da avaliação de código único com upload manual de relatório.

  4. No painel Adicionar Insights de Código , selecione Carregar um arquivo ZIP.

  5. Selecione Procurar. Selecione o local do arquivo ZIP que contém os relatórios a serem importados e selecione Carregar. Aguarde a conclusão do upload e da validação.

    Captura de tela que mostra como carregar o arquivo ZIP que contém os relatórios a serem importados.

  6. Na lista de aplicativos Web, selecione a lista suspensa Relatório de insights do código e, em seguida, exiba os relatórios carregados em Carregado de arquivo .ZIP.

    Captura de tela que mostra como exibir um relatório de insights de código.

  7. Selecione o relatório apropriado para mapear para o aplicativo Web correspondente. Repita estas etapas para todos os aplicativos Web necessários.

  8. Selecione Adicionar e aguarde a conclusão do processo. Os relatórios de insights de código são mapeados automaticamente para todos os destinos do Azure.

    Captura de tela que mostra como os relatórios de insights de código são mapeados automaticamente para todos os destinos Azure.

  9. Após a conclusão do mapeamento, a coluna Alterações de código nas páginas de aplicativos e aplicativos web mostra Disponível. Todas as avaliações para os aplicativos ou aplicativos Web selecionados são marcadas como desatualizadas. Selecione Recalcular para iniciar o recálculo.

  10. Na página dos aplicativos ou aplicativos Web, selecione Disponível para exibir insights de código. Se as alterações de código forem incluídas, a página exibirá o número de alterações para o destino de Azure recomendado.

Solicitar um relatório por meio de GitHub

Solicitar um relatório por meio de GitHub conecta Migrações para Azure a um repositório GitHub usando os detalhes de conexão fornecidos e cria automaticamente um problema nesse repositório. Ao usar a extensão de modernização do GitHub Copilot, você pode analisar seu código e enviar relatórios diretamente para o issue relacionado do GitHub.

Depois de atualizar o problema, Migrações para Azure anexa automaticamente os relatórios de verificação de código aos aplicativos Web associados. Essa abordagem permite que os administradores e desenvolvedores de nuvem colaborem, mantendo os limites de segurança para o código do aplicativo.

Pré-requisitos

  • Verifique se existe uma avaliação de aplicativo Web para cada aplicativo Web, pois você pode adicionar relatórios de verificação de código apenas a uma avaliação existente.
  • Forneça informações sobre o GitHub repositório necessário para integração com Migrações para Azure, para permitir solicitações automáticas e sincronização de relatórios de verificação de código.
  • Forneça aos detalhes do aplicativo GitHub as permissões para criar problemas e ler comentários no repositório de destino.

Criar um novo aplicativo GitHub

  1. No canto superior direito da página GitHub, selecione sua imagem de perfil.

  2. Vá para as configurações da sua conta:

    • Para um aplicativo de propriedade de uma conta pessoal, selecione Sua organização e selecione Configurações à direita da organização.
    • Para um aplicativo de propriedade de uma empresa:
      • Se você usar usuários gerenciados corporativos, selecione Sua empresa para ir diretamente para as configurações da conta corporativa.
      • Se você usar contas pessoais, selecione Suas empresas e selecione Configurações à direita da empresa.
  3. Vá para as configurações do aplicativo GitHub:

    • Para um aplicativo de propriedade de uma conta pessoal ou organização, selecione Configurações do Desenvolvedor na barra lateral. Em seguida, selecione GitHub Apps>New GitHub App.
    • Para um aplicativo de propriedade de uma empresa, vá para Configurações na barra lateral. Em seguida, selecione GitHub Apps>New GitHub App.

    Captura de tela que mostra como selecionar um novo aplicativo GitHub.

  4. Forneça os seguintes detalhes para configurar seu novo aplicativo de GitHub:

    1. No nome do aplicativo GitHub, insira um nome para seu aplicativo.
    2. Em URL da página inicial, forneça a URL completa. Essa URL serve como um espaço reservado e não é usada nesse processo.

    Captura de tela que mostra detalhes para registrar um novo aplicativo GitHub, incluindo a URL da home page.

  5. Verifique se Expirar tokens de autorização do usuário está selecionado.

  6. Em Webhook, desmarque a caixa de seleção Ativa .

    Captura de tela que mostra como desmarcar o webhook ativo.

  7. Em Permissões, selecione permissões de repositório. Em seguida, selecione as seguintes permissões para o aplicativo.

    Resource Permissions
    Problemas Leitura e gravação
    Metadados Somente leitura
    Webhook Leitura e gravação
  8. Em Onde esse Aplicativo GitHub pode ser instalado?, selecione Somente nesta conta ou em Qualquer conta.

  9. Selecione Criar Aplicativo do GitHub.

    Captura de tela que mostra as permissões disponíveis e o botão para criar um aplicativo GitHub.

Instalar o aplicativo GitHub em seu repositório

  1. Vá para o aplicativo GitHub que você criou.

  2. Selecione Instalar Aplicativo.

  3. Selecione uma conta e selecione Instalar. Use a conta que contém o repositório para criar problemas e carregar relatórios de verificação de código.

    Captura de tela que mostra como selecionar uma conta para a instalação do aplicativo.

  4. Selecione Somente selecionar repositórios e selecione os repositórios apropriados em Selecionar repositórios. Você pode selecionar vários repositórios. Quando terminar, selecione Instalar.

    Captura de tela que mostra como instalar um repositório selecionado.

  5. Após a conclusão da instalação, observe a URL do navegador que contém a ID de instalação. Por exemplo: https://github.com/settings/installations/<installationID>.

Obter os detalhes do aplicativo no GitHub e a chave privada para criar uma conexão com o GitHub

Colete os seguintes detalhes do aplicativo do GitHub e a chave privada, e crie uma conexão com o GitHub no Migrações para Azure.

  1. Vá para o aplicativo GitHub que você criou e selecione Editar.

  2. Em Geral>Sobre, localize o valor da ID do aplicativo e anote-o.

  3. Role para baixo até chaves privadas e selecione Gerar uma chave privada.

    Observação

    Gire a chave privada a cada 90 dias para obter segurança. Se você gerar uma nova chave privada, será necessário recriar a conexão porque atualmente não há suporte para a atualização da chave.

  4. O novo arquivo de chave privada é baixado automaticamente no computador.

  5. Para localizar o valor da ID de Instalação , vá para Instalar Aplicativo e selecione Configurações ao lado da conta em que o aplicativo está instalado.

  6. Após a conclusão da instalação, observe a URL do navegador que contém a ID de instalação. Por exemplo: https://github.com/settings/installations/<installationID>.

Solicitar um relatório de verificação de código para um aplicativo Web e uma avaliação de aplicativo usando um problema de GitHub

  1. Adicione um relatório de avaliação de código usando qualquer um desses métodos:

    • Na página Migrações para Azure Overview, em Explore inventory, selecione Web apps.
    • Na página Migrações para Azure Overview, em Explore Applications, selecione Applications.
    • Na página Visão geral do Migrações para Azure, em Decidir e planejar, selecione Avaliações. Escolha a avaliação do aplicativo ou a avaliação do aplicativo Web.
  2. Em Adicionar insights de código, selecione Usando a avaliação do GitHub Copilot.

    Captura de tela que mostra como adicionar insights de código usando uma avaliação de copilot GitHub.

  3. No painel Adicionar insights de código, selecione Criar GitHub conexão.

  4. No painel Criar nova GitHub conexão, forneça os seguintes detalhes:

    Campo Detalhes
    Nome da conexão Forneça um nome para a conexão. Esse nome aparece na lista quando você adiciona um relatório ao aplicativo Web.
    URL do repositório GitHub Especifique o repositório GitHub para criar um problema para solicitar um relatório de verificação de código. Carregue o relatório de verificação de código para esse problema usando GitHub Copilot.

    Use este repositório apenas para criar problemas do GitHub e ler relatórios de verificação de código desses problemas. Você não precisa incluir o código do aplicativo neste repositório.
    ID do aplicativo Insira a ID do aplicativo do GitHub que você criou para permitir o acesso Migrações para Azure.
    Chave Privada Copie todo o conteúdo do arquivo de chave privada gerado para seu aplicativo GitHub.
    ID de Instalação Insira a ID de instalação do aplicativo GitHub instalado no repositório especificado anteriormente.
  5. Depois de adicionar os detalhes, selecione Criar conexão.

    Captura de tela que mostra como criar uma conexão GitHub.

  6. Aguarde até que a conexão seja criada com êxito e selecione Fechar.

  7. No painel Adicionar insights de código no aplicativo Web, na lista, selecione Solicitar relatório por meio de GitHub.

  8. No painel Adicionar insights por meio de GitHub, selecione o nome de conexão apropriado e selecione Solicitação.

    Captura de tela que mostra como solicitar um relatório por meio de GitHub.

  9. O Migrações para Azure cria um problema no GitHub no repositório que você especificou nos detalhes da conexão.

  10. Quando o relatório de verificação de código é carregado na issue do GitHub, o Migrações para Azure mapeia automaticamente o relatório para o aplicativo web e os aplicativos correspondentes.

  11. Após a conclusão do mapeamento, a coluna Alterações de código nas páginas de aplicativos e aplicativos web mostra Disponível. Todas as avaliações para os aplicativos ou aplicativos Web selecionados são marcadas como desatualizadas. Selecione Recalcular para iniciar o recálculo.

  12. Na página dos aplicativos ou aplicativos Web, selecione Disponível para exibir insights de código. Se as alterações de código forem incluídas, a página exibirá o número de alterações para o destino de Azure recomendado.

Gerar um relatório de verificação de código usando a extensão de modernização do GitHub Copilot

  1. Gerar um relatório de verificação de código:

  2. Carregue o relatório para uma issue do GitHub usando o prompt no GitHub Copilot.

Troubleshoot

Esta seção ajuda você a resolver problemas relacionados a insights de código no Migrações para Azure.

GitHub Copilot Modernize CLI

Não é possível gerar um arquivo de configuração: selecione pelo menos um aplicativo Web ou um aplicativo com aplicativos Web para gerar insights de código.

Não é possível gerar uma avaliação de código no GitHub Copilot Modernizar a CLI: verifique se a instalação foi concluída, você atendeu aos pré-requisitos e o usuário tem permissões para o repositório de código-fonte.

Não é possível exibir alterações de código no Migrações para Azure: se você gerou insights de código com êxito usando a CLI de Modernização, mas não consegue exibir alterações de código no Migrações para Azure, siga estas diretrizes para exibir alterações de código:

  • Verifique se a avaliação de código foi concluída com êxito para todos os aplicativos Web.
  • Verifique se o usuário que está executando a CLI Modernize tem permissões da função Decide e Plan Expert no projeto do Migrações para Azure.
  • Verifique se os aplicativos Web relevantes estão incluídos no arquivo de configuração baixado.
  • Verifique se a estrutura dos aplicativos Web no arquivo de configuração é a mesma do repositório de código mapeado.

Arquivo ZIP

Falha ao carregar relatórios como um arquivo ZIP

Siga estas diretrizes para importar caminhos com êxito e carregar arquivos ZIP sem erros.

Carregue um arquivo ZIP que atenda a estes requisitos:

  • Ele contém apenas arquivos JSON.
  • São menos de 50 MB. Se estiver descompactado, será menor que 500 MB.
  • Ele contém menos de 100 arquivos.
  • Ele não contém arquivos ZIP aninhados.

Erros poderão aparecer se o arquivo ZIP carregado não atender às restrições necessárias. Aqui estão alguns exemplos.

Erro Reason
Não há suporte para o tipo %Value; de conteúdo de blob carregado. O arquivo carregado não é um arquivo ZIP.
Zip contém muitos arquivos (%FileCount;). O limite é %MaxFileCount;. O arquivo ZIP contém mais de 100 arquivos.
O tamanho %UncompressedSize;MB total não compactado do arquivo ZIP carregado excede o limite de %MaxUncompressedSize;MB. O tamanho não compactado do arquivo ZIP excede 500 MB.
A entrada zip %EntryName; é inválida (possível travessia de caminho). Um nome de arquivo no arquivo ZIP contém caracteres de passagem de caminho, como ../../.*.
O arquivo ZIP carregado está vazio e não contém arquivos válidos. O arquivo ZIP não contém nenhum arquivo.

Se você receber qualquer um desses erros, remova os arquivos inválidos ou extras e crie novamente o arquivo ZIP antes de carregá-lo novamente.

Arquivos parciais ou nenhum arquivo aceito para geração de relatório

Mesmo que o arquivo ZIP atenda a todas as diretrizes e seja processado, os relatórios poderão não aparecer para todos os arquivos nele. O motivo pode ser a incompatibilidade de esquema JSON ou destinos sem suporte no arquivo de relatório.

Quando esse problema ocorre, Migrações para Azure usa conteúdo de arquivos válidos para gerar o relatório. Os arquivos que falham na validação retornam erros como os exemplos a seguir.

Erro Reason
O conteúdo do relatório é inválido ou não está no formato JSON esperado. O esquema de relatório JSON é inválido ou incompatível.
O relatório não contém alvos suportados para a estrutura especificada. O relatório inclui destinos aos quais o Migrações para Azure não oferece suporte. O AppCAT dá suporte a muitos destinos, mas Migrações para Azure dá suporte apenas a um subconjunto.

Quando você encontrar esses erros, regenere o relatório com a configuração correta e carregue-o novamente usando um fluxo de importação separado.