Observação: Varredura de código está em beta em GitHub Enterprise Server 2.22. Para a versão geralmente disponível do varredura de código, atualize para a versão mais recente de GitHub Enterprise Server.
Observação: O administrador do site deve habilitar Varredura de código para sua instância do GitHub Enterprise Server antes de usar este recurso. Se você desejar usar o GitHub Actions para fazer a varredura do seu código, o administrador do site também deverá habilitar o GitHub Actions e configurar a infraestrutura necessária. Para obter mais informações, consulte "Configurar o Varredura de código para seu aplicativo ".
Opções para configuração de Varredura de código
Você decide como gerar alertas de Varredura de código e quais ferramentas usar no nível de um repositório. O GitHub Enterprise Server fornece suporte totalmente integrado para a análise do CodeQL e também é compatível com ferramentas de análise usando ferramentas de terceiros. Para obter mais informações, consulte "Sobre CodeQL".
|
Opções para gerar alertas |
---|---|
Configurar Varredura de código usando ações
-
No GitHub Enterprise Server, navegue até a página principal do repositório.
-
No seu nome de repositório, clique em Segurança.
-
À direita dos " alertas de Varredura de código", clique em Configurar Varredura de código.
-
Em "Começar com Varredura de código", clique em Configurar este fluxo de trabalho no Fluxo de trabalho de análise do CodeQL ou em um fluxo de trabalho de terceiros.
-
Para personalizar como Varredura de código faz a varredura do seu código, edite o fluxo de trabalho.
Geralmente, você pode fazer commit do Fluxo de trabalho de análise do CodeQL sem fazer nenhuma alteração nele. No entanto, muitos dos fluxos de trabalho de terceiros exigem uma configuração adicional. Portanto, leia os comentários no fluxo de trabalho antes de fazer o commit.
Para obter mais informações, consulte "Configurando Varredura de código."
-
Use o menu suspenso Iniciar commit e digite uma mensagem de commit.
-
Escolha se você gostaria de fazer commit diretamente no branch-padrão ou criar um novo branch e iniciar um pull request.
-
Clique em Fazer commit do novo arquivo ou Propor novo arquivo.
No Fluxo de trabalho de análise do CodeQL padrão, Varredura de código está configurado para analisar o seu código cada vez que você fizer push de uma alteração no branch-padrão ou em qualquer branch protegido, ou criar um pull request contra o branch padrão. Como resultado, Varredura de código vai começar agora.
Configuração em massa de Varredura de código
Você pode configurar Varredura de código em vários repositórios de uma vez usando um script. Para obter um exemplo de um script que levanta pull requests para adicionar um fluxo de trabalho de GitHub Actions em vários repositórios, consulte o repositório jhutchings1/Create-ActionsPRs
para ver um exemplo que usa o Powershell ou nickliffen/ghas-enablement
para equipes que não possuem Powershell e que, em vez disso, prefeririam usar o NodeJS.
Visualizar a saída do registro de Varredura de código
Depois de configurar o Varredura de código para o seu repositório, você poderá inspecionar a saída das ações conforme forem executadas.
-
No nome do seu repositório, clique em Ações.
Você verá uma lista que inclui uma entrada para executar o fluxo de trabalho de Varredura de código. O texto da entrada é o título que você deu à sua mensagem de commit.
-
Clique na entrada para o fluxo de trabalho de Varredura de código.
-
Clique no nome do trabalho à esquerda. Por exemplo, Analise (LANGUAGE).
-
Revise a saída de log das ações deste fluxo de trabalho enquanto elas são executadas.
-
Depois que todos os trabalhos forem concluídos, você poderá visualizar os as informações dos alertas de Varredura de código que foram identificados. Para obter mais informações, consulte "Gerenciar alertas de Varredura de código para o seu repositório".
Observação: Se você criou um pull request para adicionar o fluxo de trabalho de Varredura de código ao repositório, os alertas desse pull request não serão exibidos diretamente na página de Varredura de código até que o pull request seja mesclado. Se algum alerta for encontrado, você poderá visualizá-los, antes do merge do pull request, clicando no link dos n alertas encontrados no banner na página de Varredura de código.
Entendendo as verificações de pull request
Cada fluxo de trabalho de Varredura de código que você configurar para ser executado em pull requests sempre terá pelo menos duas entradas listadas na seção de verificações de um pull request. Há uma entrada para cada um dos trabalhos de análise no fluxo de trabalho e uma entrada final para os resultados da análise.
Os nomes das verificações de análise de Varredura de código assumem a forma: "TOOL NAME / JOB NAME (TRIGGER)." Por exemplo, para CodeQL, a análise do código C++ tem a entrada "CodeQL / Analyze (cpp) (pull_request)." Você pode clicar em Detalhes em uma entrada de análise de Varredura de código para ver os dados de registro. Isso permite que você corrija um problema caso ocorra uma falha no trabalho de análise. Por exemplo, para a análise de Varredura de código de linguagens compiladas, isto pode acontecer se a ação não puder criar o código.
Quando os trabalhos de Varredura de código forem concluídos, GitHub calcula se quaisquer alertas foram adicionados pelo pull request e adiciona a entrada "Varredura de código results / TOOL NAME" à lista de verificações. Depois de Varredura de código ser executado pelo menos uma vez, você poderá clicar em Detalhes para visualizar os resultados da análise. Se você usou um pull request para adicionar Varredura de código ao repositório, você verá inicialmente uma mensagem de "Análise ausente" ao clicar em Detalhes na verificação de resultados de "Varredura de código / NOME DA FERRAMENTA".
Motivos da mensagem "faltando ausente"
Depois que Varredura de código analisou o código em um pull request, ele precisa comparar a análise do branch de tópico (o branch que você usou para criar o pull request) com a análise do branch de base (o branch no qual você deseja mesclar o pull request). Isso permite que Varredura de código calcule quais alertas foram recém-introduzidos pelo pull request, que alertas já estavam presentes no branch de base e se alguns alertas existentes são corrigidos pelas alterações no pull request. Inicialmente, se você usar um pull request para adicionar Varredura de código a um repositório, o branch de base ainda não foi analisado. Portanto, não é possível computar esses detalhes. Neste caso, ao clicar na verificação de resultados no pull request você verá a mensagem "Análise ausente para o commit de base SHA-HASH".
Há outras situações em que não pode haver análise para o último commit do branch de base para um pull request. Isso inclui:
-
O pull request foi levantado contra um branch diferente do branch padrão, e este branch não foi analisado.
Para verificar se um branch foi verificado, acesse a página Varredura de código, clique no menu suspenso Branch e selecione o branch relevante.
A solução nesta situação é adicionar o nome do branch de base para a especificação
on:push
eon:pull_request
no fluxo de trabalho de Varredura de código nesse branch e, em seguida, fazer uma alteração que atualize o pull request aberto que você deseja escanear. -
O último commit no branch de base para o pull request está atualmente sendo analisado e a análise ainda não está disponível.
Aguarde alguns minutos e depois faça push de uma alteração no pull request para acionar o recurso de Varredura de código.
-
Ocorreu um erro ao analisar o último commit no branch base e a análise para esse commit não está disponível.
Faça merge uma mudança trivial no branch de base para acionar Varredura de código neste commit mais recente e, em seguida, faça push de uma alteração para o pull request reiniciar Varredura de código.
Próximas etapas
Após configurar a opção Varredura de código, e permitir que suas ações sejam concluídas, você pode:
- Visualizar todos os alertas de Varredura de código gerados para este repositório. Para obter mais informações, consulte "Gerenciar alertas de Varredura de código para o seu repositório".
- Visualizar todos os alertas gerados para um pull request enviado após configurar Varredura de código. Para obter mais informações, consulte "Triar alertas de Varredura de código em pull requests".
- Configurar notificações para execuções concluídas. Para obter mais informações, consulte “Configurando notificações".
- Investigue todos os problemas que ocorrerem com a configuração inicial de CodeQL Varredura de código. Para obter mais informações, consulte "Solucionar problemas no fluxo de trabalho de CodeQL".
- Personalize como Varredura de código faz a varredura de código no seu repositório. Para obter mais informações, consulte "Configurando Varredura de código."