Skip to main content

Esta versão do GitHub Enterprise Server será descontinuada em 2026-03-17. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Sobre a verificação de código CodeQL para idiomas compilados

Entenda como CodeQL analisa as linguagens compiladas, as opções de compilação disponíveis e saiba como você pode personalizar o processo de geração do banco de dados, se necessário.

Quem pode usar esse recurso?

Usuários com com acesso para gravação if advanced setup is already enabled

O Code scanning está disponível para os seguintes tipos de repositório:

  • Repositórios públicos no GitHub.com
  • Repositórios de propriedade da organização em GitHub Team, GitHub Enterprise Cloudou GitHub Enterprise Server, com GitHub Advanced Security habilitados.

Sobre o Fluxo de trabalho de análise do CodeQL e as linguagens compiladas

O Code scanning funciona executando consultas em um ou mais bancos de dados do CodeQL. Cada banco de dados contém uma representação do código em uma linguagem única no seu repositório. Para as linguagens compiladas de C/C++, C#, Go, Java, Kotlin, Rust (versão prévia pública), e Swift, o processo de preenchimento deste banco de dados geralmente envolve a construção do código e extração de dados.

Quando você habilita code scanning, a configuração padrão e avançada gera um banco de dados CodeQL para análise usando o método mais simples disponível. Para Java, o banco de dados CodeQL é gerado diretamente da base de código sem exigir uma compilação (modo de compilaçãonone ). Para outras linguagens compiladas, CodeQL cria a base de código usando o modo de compilação autobuild. Como alternativa, é possível usar o manual modo de compilação para especificar comandos de compilação explícitos para analisar apenas os arquivos criados por esses comandos personalizados.

Modos de compilação CodeQL

A ação CodeQL oferece suporte a três modos de compilação diferentes para linguagens compiladas:

  •         `none` - o banco de dados CodeQL é criado diretamente a partir do código-fonte, sem a necessidade de recompilá-lo (compatível com todas as linguagens interpretadas e também com  Java).
    
  •         `autobuild` - CodeQL detecta o método de build mais provável e o utiliza para tentar compilar a base de código e criar um banco de dados para análise (compatível com C/C++, C#, Go, Java, Kotlin e Swift).
    
  •         `manual` – você define as etapas de construção a serem usadas para a base de código no fluxo de trabalho (com suporte para C/C++, C#, Go, Java, Kotlin e Swift).
    

Para obter comportamentos autobuild específicos ao idioma, requisitos do runner e diretrizes para builds manuais, consulte Opções e etapas de build do CodeQL para idiomas compilados.