# Como configurar a CLI do CodeQL

Para começar, CodeQL CLIvocê precisa baixar e configurar a CLI para que ela possa acessar as ferramentas e bibliotecas necessárias para criar e analisar bancos de dados.

## Configurando o CodeQL CLI

Para executar os comandos CodeQL, você precisa configurar o CodeQL CLI para que ele possa acessar as ferramentas, consultas e bibliotecas necessárias para criar e analisar bancos de dados.

```
          CodeQL CLI dá suporte a uma variedade de casos de uso e estruturas de diretórios. Este artigo explica uma configuração simples que funciona para a maioria dos usuários e ambientes.
```

Se você planeja usar a CodeQL CLI para pesquisa de segurança, testar ou contribuir com consultas, talvez seja necessária uma configuração mais avançada. Para obter mais informações, consulte [Sobre a CLI do CodeQL](/pt/code-security/concepts/code-scanning/codeql/about-the-codeql-cli#getting-started).

### Antes de começar

Se você estiver usando o macOS no Apple Silicon (por exemplo, Apple M1), verifique se as [Ferramentas para desenvolvedores de linha de comando do Xcode](https://developer.apple.com/library/archive/technotes/tn2339/_index.html) e o [Rosetta 2](https://support.apple.com/en-us/HT211861) estão instalados.

> \[!NOTE]
> Atualmente, o CodeQL CLI não é compatível com distribuições Linux que não são baseadas em glibc, como o Alpine Linux (baseado em musl).

### 1. Baixar o CodeQL CLI arquivo tar

O pacote de download do CodeQL CLI é um arquivo tar que contém ferramentas, scripts e vários arquivos específicos do CodeQL. Se você não tiver uma licença do GitHub Enterprise, baixando esse arquivo, você estará concordando com os [termos e condições do GitHub CodeQL](https://securitylab.github.com/tools/codeql/license).

Baixe o pacote do CodeQL em <https://github.com/github/codeql-action/releases>. O pacote contém:

* produto de CodeQL CLI
* Uma versão compatível das consultas e bibliotecas do <https://github.com/github/codeql>
* Versões pré-compiladas de todas as consultas incluídas no pacote

Use sempre o pacote CodeQL. Fazer isso garante a compatibilidade e proporciona um desempenho muito melhor que um download separado da CodeQL CLI e o check-out das consultas da CodeQL. Se estiver executando apenas a CLI em uma plataforma específica, baixe o arquivo `codeql-bundle-PLATFORM.tar.zst` apropriado. Como alternativa, você pode baixar `codeql-bundle.tar.zst`, que contém a CLI para todas as plataformas compatíveis.

Existem também variantes `tar.gz` do pacote, que são idênticas às variantes `tar.zst`, exceto por serem compactadas usando o algoritmo gzip menos eficiente. A única razão para baixar as variantes `tar.gz` é se você estiver usando ferramentas de descompactação mais antigas que não suportam o algoritmo de compactação Zstandard.

### 2. Extrair o arquivo tar CodeQL CLI

Extraia o CodeQL CLI arquivo tar para um diretório de sua escolha.

### Opcional: disponibilize o CodeQL CLI no seu sistema de CI

Se você planeja executar CodeQLcode scanning a análise em um sistema de CI, verifique se o conteúdo completo do CodeQL CLI pacote está disponível para todos os servidores de CI que executarão a análise.

Por exemplo, você pode:

* Copiar o pacote de um local interno central e extraí-lo em cada servidor ou
* Use a API REST para baixar o pacote diretamente de GitHub, garantindo que as melhorias mais recentes nas consultas sejam recebidas. Para obter mais informações, consulte [Pontos de extremidade da API REST para lançamentos e ativos de lançamento](/pt/rest/releases).

### 3. Iniciar `codeql`

Após a extração, você poderá executar processos do CodeQL executando o executável `codeql` de algumas maneiras:

* Ao executar `<extraction-root>/codeql/codeql`, em que `<extraction-root>` é a pasta na qual você extraiu o pacote da CodeQL CLI.
* Adicione o `<extraction-root>/codeql` ao `PATH`, para que você possa executar o executável apenas como `codeql`.

Neste ponto, você pode executar comandos do CodeQL. Para ver uma lista completa dos comandos da CodeQL CLI, confira [Manual de comandos da CLI do CodeQL](/pt/code-security/codeql-cli/codeql-cli-manual).

> \[!NOTE]
> Se você adicionar `codeql` ao seu `PATH`, ele poderá ser acessado por CodeQL para compilar e executar consultas. Para obter mais informações sobre como configurar VS Code para acessar o CodeQL CLI[, consulte AUTOTITLE](/pt/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/configuring-access-to-the-codeql-cli).

## Testando a CodeQL CLI configuração

Depois de extrair o CodeQL CLI pacote, você pode executar o seguinte comando para verificar se a CLI está configurada corretamente para criar e analisar bancos de dados:

* `codeql resolve packs` Se `/<extraction root>/codeql` estiver no `PATH`.
* `/<extraction root>/codeql/codeql resolve packs` caso contrário.

Se a operação for bem-sucedida, você deverá ver uma saída semelhante ao trecho abaixo:

```shell
Searching directories specified by `--additional-packs`. All directories have equal priority.
  Searching in:
    No packs were found at this location.
Searching directories specified by `--search-path`. Directories are searched in order.
Searching the root of the CodeQL distribution.
  Searching in:
      <extraction root>
    The following packs were found:
      codeql/java-all@<version>: (library) <extraction root>/qlpacks/codeql/javat-all/<version>/qlpack.yml
      codeql/java-queries@<version>: (query) <extraction root>/qlpacks/codeql/java-queries/<version>/qlpack.yml
      codeql/javascript-all@<version>: (library) <extraction root>/qlpacks/codeql/javascript-all/<version>/qlpack.yml
      codeql/javascript-queries@<version>: (query) <extraction root>/qlpacks/codeql/javascript-queries/<version>/qlpack.yml
      codeql/swift-all@<version>: (library) <extraction root>/qlpacks/codeql/swift-all/<version>/qlpack.yml
      codeql/swift-queries@<version>: (query) <extraction root>/qlpacks/codeql/swift-queries/<version>/qlpack.yml
...
```

Os resultados foram truncados por questões de brevidade. Os resultados reais serão mais extensos e detalhados.

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 extraído CodeQL CLI , mostrado no exemplo anterior como `<extraction root>`. Se o CodeQL CLI não for capaz de localizar os qlpacks para os idiomas esperados, verifique se você baixou o pacote CodeQL e não uma versão independente do CodeQL CLI.

Execute também `codeql resolve languages` para mostrar as linguagens disponíveis para a criação do banco de dados. Isso listará os idiomas compatíveis por padrão em seu CodeQL CLI pacote.

Opcionalmente, você pode baixar alguns pacotes CodeQL contendo consultas pré-compiladas que você gostaria de executar. Para obter mais informações, consulte [Como personalizar a análise com pacotes CodeQL](/pt/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs).

O comando `codeql resolve packs` é útil para diagnosticar problemas quando CodeQL CLI não é possível localizar pacotes de consulta que se espera estejam disponíveis para análise.

> \[!NOTE] O `codeql resolve packs` comando está disponível nas CodeQL CLI versões 2.19.0 e posteriores. Para versões anteriores da CLI, você deve executar o comando `codeql resolve qlpacks`, que produz uma saída semelhante, porém menos detalhada.

## Próximas Etapas 

Para saber como preparar seu código para ser analisado pelo CodeQL CLI[Como preparar seu código para a análise do CodeQL](/pt/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis).