--- title: Instalando CodeQL CLI no seu sistema de CI shortTitle: Instalar a CLI do CodeQL intro: 'Você pode instalar o {% data variables.product.prodname_codeql_cli %} e usá-lo para executar {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} em um sistema de integração contínua de terceiros.' product: '{% data reusables.gated-features.code-scanning %}' miniTocMaxHeadingLevel: 3 versions: fpt: '*' ghes: '>=3.1' ghae: '*' ghec: '*' type: how_to topics: - Advanced Security - Code scanning - CodeQL - Repositories - Pull requests - Integration - CI - SARIF redirect_from: - /code-security/secure-coding/running-codeql-cli-in-your-ci-system - /code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-cli-in-your-ci-system - /code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system --- {% data reusables.code-scanning.enterprise-enable-code-scanning %} ## Sobre o uso do {% data variables.product.prodname_codeql_cli %} for {% data variables.product.prodname_code_scanning %} Você pode usar {% data variables.product.prodname_codeql_cli %} para executar o {% data variables.product.prodname_code_scanning %} no código que você está processando em um sistema de integração contínua (CI) de terceiros. {% data reusables.code-scanning.about-code-scanning %} Para obter informações, consulte "[Sobre {% data variables.product.prodname_code_scanning %} com {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)." Para as especificações recomendadas (RAM, núcleos de CPU e disco) para executar a análise {% data variables.product.prodname_codeql %}, consulte "[Recursos recomendados de hardware para executar {% data variables.product.prodname_codeql %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql)". {% data reusables.code-scanning.what-is-codeql-cli %} Como alternativa, você pode usar {% data variables.product.prodname_actions %} para executar {% data variables.product.prodname_code_scanning %} em {% data variables.product.product_name %}. Para obter informações sobre {% data variables.product.prodname_code_scanning %} usando ações, consulte "[Configurar {% data variables.product.prodname_code_scanning %} para um repositório](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)". Para obter uma visão geral das opções para os sistemas de CI, consulte "[Sobre o CodeQL {% data variables.product.prodname_code_scanning %} no seu sistema de CI](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)". {% data reusables.code-scanning.licensing-note %} ## Fazer o download do {% data variables.product.prodname_codeql_cli %} Você deve fazer o download do pacote {% data variables.product.prodname_codeql %} em https://github.com/github/codeql-action/releases. O pacote contém: - produto de {% data variables.product.prodname_codeql_cli %} - Uma versão compatível das consultas e bibliotecas de https://github.com/github/codeql - Versões pré-compiladas de todas as consultas incluídas no pacote Você sempre deve usar o pacote de {% data variables.product.prodname_codeql %}, uma vez que ele garante compatibilidade e também fornece um desempenho muito melhor do que um download separado de {% data variables.product.prodname_codeql_cli %} e checkout das consultas de {% data variables.product.prodname_codeql %}. Se você estiver executando o CLI apenas em uma plataforma específica, faça o download do arquivo `codeql-bundle-PLATFORM.tar.gz` apropriado. Como alternativa, você pode fazer o download de `codeql-bundle.tar.gz`, que contém a CLI para todas as plataformas compatíveis. {% data reusables.code-scanning.beta-codeql-packs-cli %} ## Configurando o {% data variables.product.prodname_codeql_cli %} no seu sistema de CI Você precisa disponibilizar todo o conteúdo do pacote {% data variables.product.prodname_codeql_cli %} para cada servidor de CI no qual você deseja executar a análise de CodeQL de {% data variables.product.prodname_code_scanning %}. Por exemplo, você pode configurar cada servidor para que copie o pacote de um local interno central, interno e extraí-lo. Como alternativa, você pode usar a API REST para obter o pacote diretamente do {% data variables.product.prodname_dotcom %}, garantindo que você irá beneficiar-se das últimas melhorias das consultas. Atualizações no {% data variables.product.prodname_codeql_cli %} são lançadas a cada 2 a 3 semanas. Por exemplo: ```shell $ wget https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases/latest/download/codeql-bundle-linux64.tar.gz $ tar -xvzf ../codeql-bundle-linux64.tar.gz ``` Depois de extrair o pacote do {% data variables.product.prodname_codeql_cli %}, você poderá executar o executável `codeql` no servidor: - Ao executar `//codeql/codeql`, onde `` é a pasta onde você extraiu o pacote {% data variables.product.prodname_codeql_cli %}. - Adicionando `//codeql` ao seu `PATH`, para que você possa executar o executável como apenas `codeql`. ## Testando a configuração de {% data variables.product.prodname_codeql_cli %} Depois de extrair o pacote de {% data variables.product.prodname_codeql_cli %}, você pode executar o comando a seguir para verificar se a CLI está configurada corretamente para criar e analisar bases de dados. - `codeql resolve qlpacks` se `//codeql` estiver em `PATH`. - Caso contrário, `//codeql/codeql resolve qlpacks`. **Extrair da saída bem-sucedida:** ``` codeql/cpp-all (//qlpacks/codeql/cpp-all/) codeql/cpp-examples (//qlpacks/codeql/cpp-examples/) codeql/cpp-queries (//qlpacks/codeql/cpp-queries/) codeql/csharp-all (//qlpacks/codeql/charp-all/) codeql/csharp-examples (//qlpacks/codeql/charp-examples/) codeql/csharp-queries (//qlpacks/codeql/charp-queries/) codeql/java-all (//qlpacks/codeql/java-all/) codeql/java-examples (//qlpacks/codeql/java-examples/) codeql/java-queries (//qlpacks/codeql/java-queries/) codeql/javascript-all (//qlpacks/codeql/javascript-all/) codeql/javascript-examples (//qlpacks/codeql/javascript-examples/) codeql/javascript-queries (//qlpacks/codeql/javascript-queries/) codeql/python-all (//qlpacks/codeql/python-all/) codeql/python-examples (//qlpacks/codeql/python-examples/) codeql/python-queries (//qlpacks/codeql/python-queries/) codeql/ruby-all (//qlpacks/codeql/ruby-all/) codeql/ruby-examples (//qlpacks/codeql/ruby-examples/) codeql/ruby-queries (//qlpacks/codeql/ruby-queries/) ... ``` Você deve verificar se a saída contém as linguagens esperadas e também se o local do diretório de arquivos qlpack está correto. O local deve estar dentro do pacote de {% data variables.product.prodname_codeql_cli %} extraído, mostrado acima como ``, a menos que você esteja usando uma verificação `github/codeql`. Se o {% data variables.product.prodname_codeql_cli %} não conseguir localizar os qlpacks para as linguagens esperadas, certifique-se de que você faz o download do pacote {% data variables.product.prodname_codeql %} e não uma cópia independente do {% data variables.product.prodname_codeql_cli %}. ## Gerando um token para autenticação com {% data variables.product.product_name %} Cada servidor de CI precisa de um {% data variables.product.prodname_github_app %} ou token de acesso pessoal para {% data variables.product.prodname_codeql_cli %} para usar para fazer o upload dos resultados para {% data variables.product.product_name %}. Você deve usar um token de acesso ou um {% data variables.product.prodname_github_app %} com a permissão de gravação de `security_events`. Se os servidores de CI já usam um token com este escopo para repositórios de checkout de {% data variables.product.product_name %}, potencialmente você poderia permitir que {% data variables.product.prodname_codeql_cli %} usasse o mesmo token. Caso contrário, você deve criar um novo token com a permissão de gravação de `security_events` e adicionar isso à loja secreta do sistema de CI. Para obter informações, consulte "[Criar {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps)" e "[Criar um token de acesso pessoal](/github/authenticating-to-github/creating-a-personal-access-token)". ## Próximas etapas Agora você está pronto para configurar o sistema de CI para executar a análise de {% data variables.product.prodname_codeql %}, gerar resultados e enviá-los para {% data variables.product.product_name %} onde os resultados serão correspondidos com um branch ou pull request e exibidos como alertas de {% data variables.product.prodname_code_scanning %}. Para obter informações detalhadas, consulte "[Configurar {% data variables.product.prodname_codeql_cli %} no seu sistema de CI](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system)".