Compartilhar via


Modernização do aplicativo Copilot do GitHub – atualização para Java (versão prévia)

Este artigo fornece uma visão geral da Modernização do Aplicativo Copilot do GitHub – atualização para Java (versão prévia).

As empresas geralmente lidam com dívidas técnicas ao longo de seus ciclos de desenvolvimento, e a atualização é uma tarefa comum. Ele pode exigir tempo e recursos substanciais para atualizar runtimes, estruturas e dependências do Java.

A Modernização do Aplicativo Copilot do GitHub – a atualização para Java (versão prévia) é uma solução baseada em IA projetada para ajudar na atualização de seus aplicativos Java. A ferramenta usa IA para executar as seguintes tarefas:

  • Analise o projeto e suas dependências e proponha um plano de atualização.
  • Execute o plano para transformar o projeto.
  • Corrija automaticamente problemas durante o progresso.
  • Relate todos os detalhes, incluindo confirmações, logs e saída.
  • Execute uma verificação de vulnerabilidades comuns e exposições (CVE) vulnerabilidades de segurança e inconsistências de código após a atualização.
  • Mostrar um resumo, incluindo alterações de arquivo, dependências atualizadas e problemas corrigidos.
  • Gere casos de teste de unidade separadamente do processo de atualização.

A ferramenta integra os recursos de IA do GitHub Copilot com ferramentas de software livre, como o OpenRewrite, para automatizar etapas complexas de atualização. Ele dá suporte a projetos Maven e Gradle e a atualizações entre as versões alvo 8, 11, 17 e 21 do Java. A ferramenta tem um foco específico na modernização de aplicativos que usam a estrutura do Spring Boot. O processo de atualização mantém você no controle e garante a transparência exibindo todos os logs e saídas.

O vídeo a seguir mostra como atualizar a versão de seus aplicativos Java Spring usando a Modernização do Aplicativo Copilot do GitHub – atualização para Java (versão prévia):


Casos de uso comuns

A Modernização do Aplicativo Copilot do GitHub – atualização para Java (versão prévia) pode ser usada para os casos de uso a seguir.

  • Atualizar versões de runtime do Java. Atualize perfeitamente seu aplicativo do Java 8 ou 11 para versões mais recentes, como Java 17 ou 21.
  • Atualize para uma versão mais recente da estrutura. Transição do Spring Boot 2.7 para versões como 3.2 com tratamento inteligente de alterações interruptivas.
  • Detectar vulnerabilidades CVE. Detectar e resolver vulnerabilidades de segurança conhecidas em dependências de terceiros durante o processo de atualização.
  • Verifique a consistência do comportamento do código. Verifique se seu aplicativo se comporta na mesma pós-atualização detectando e resolvendo inconsistências comportamentais.
  • Gere casos de teste de unidade para projetos com baixa cobertura de teste. A ferramenta de geração de teste de unidade é capaz de criar casos de teste de unidade independentemente do processo de atualização.

Há também uma ferramenta separada que ajuda você a migrar seus aplicativos para o Azure. A Modernização do Aplicativo Copilot do GitHub para Java (versão prévia) é uma ferramenta alimentada por IA que fornece avaliação e correção de código e garante compilações bem-sucedidas em uma solução, melhorando a velocidade, a qualidade e a confiança do desenvolvedor. Para obter mais informações, consulte a Modernização do Aplicativo Copilot do GitHub para Java (versão prévia).

Conceitos

A Modernização do Aplicativo Copilot do GitHub – atualização para Java (versão prévia) segue um fluxo de trabalho de atualização de várias fases guiado no Visual Studio Code. As seções a seguir fornecem um modelo conceitual de como a ferramenta opera:

1. Prompt inicial

Você fornece um prompt inicial no Modo de Agente do Visual Studio Code, como Atualizar meu projeto Java para Java 17 e Spring Boot 3.2.

2. Análise de projeto

Com base nesse prompt, a ferramenta avalia a estrutura atual do projeto Java no espaço de trabalho, incluindo a ferramenta de compilação - Maven ou Gradle -, as versões do JDK e as dependências.

Em seguida, a ferramenta gera um plano de atualização inicial em um arquivo plan.md , que descreve as alterações planejadas.

3. Planejar a personalização

Nesta etapa, você pode examinar e editar o plano de atualização para ajustar as versões de destino do JDK, estruturas ou bibliotecas de terceiros. Depois de confirmar o plano, a atualização será iniciada.

4. Transformação de código automatizada

Aqui é onde a transformação de código ocorre. Essa transformação consiste principalmente nas duas etapas principais a seguir:

  1. A ferramenta primeiro usa uma ferramenta de software livre chamada OpenRewrite para aplicar a transformação de código.
  2. Se houver problemas restantes, o GitHub Copilot resolverá esses problemas dinamicamente até que não haja mais problemas.

Durante esse processo, o desenvolvedor pode ver diretamente o progresso por meio do arquivo progress.md .

5. Validação

Após a conclusão da fase anterior, a ferramenta executa verificações adicionais, incluindo as seguintes verificações:

  • Vulnerabilidades de segurança CVE em dependências atualizadas.
  • Alterações de comportamento de código.

A ferramenta tenta resolver problemas descobertos automaticamente e permite que você examine e aprove correções.

6. Verificação final e resumo

Quando a fase de validação é concluída, a ferramenta executa verificações finais e apresenta um resumo final. Nesta fase, a ferramenta executa as seguintes tarefas:

  • Recompila o projeto e executa novamente as verificações de validação.
  • Fornece um resumo de atualização abrangente em um arquivo summary.md , incluindo alterações de dependência, difusões de arquivo e logs de confirmação.

A Modernização do Aplicativo Copilot do GitHub – atualização para Java (versão prévia) foi projetada para capacitá-lo removendo grande parte do esforço manual e do trabalho de adivinhação das atualizações do Java, oferecendo um caminho mais seguro e rápido para modernizar as bases de código herdadas.

Próxima etapa

Início Rápido: atualizar um projeto Java com a Modernização do Aplicativo Copilot do GitHub – atualização para Java (versão prévia)