{"meta":{"title":"Executar a varredura de código CodeQL em um contêiner","intro":"Você pode executar code scanning em um contêiner garantindo que todos os processos sejam executados no mesmo contêiner.","product":"Qualidade de segurança e código","breadcrumbs":[{"href":"/pt/code-security","title":"Qualidade de segurança e código"},{"href":"/pt/code-security/tutorials","title":"Tutorials"},{"href":"/pt/code-security/tutorials/customize-code-scanning","title":"Personalizar a verificação de código"},{"href":"/pt/code-security/tutorials/customize-code-scanning/run-in-a-container","title":"Executar em um contêiner"}],"documentType":"article"},"body":"# Executar a varredura de código CodeQL em um contêiner\n\nVocê pode executar code scanning em um contêiner garantindo que todos os processos sejam executados no mesmo contêiner.\n\n## Sobre code scanning uma compilação conteinerizada\n\nSe você estiver configurando code scanning para um idioma compilado e estiver criando o código em um ambiente em contêineres, a análise poderá falhar com a mensagem de erro \"Nenhum código-fonte foi visto durante o build\". Isso indica que CodeQL não foi possível monitorar seu código como ele foi compilado.\n\nVocê deve executar CodeQL dentro do contêiner no qual compila o seu código. Isso se aplica se você estiver usando o CodeQL CLI ou GitHub Actions. Para o(a) CodeQL CLI, consulte [Usando a varredura de código com seu sistema de CI existente](/pt/code-security/how-tos/find-and-fix-code-vulnerabilities/integrate-with-existing-tools/use-with-existing-ci-system) para obter mais informações. Se você estiver usando GitHub Actions, configure seu fluxo de trabalho para executar todas as ações no mesmo contêiner. Para obter mais informações, confira [Exemplo de fluxo de trabalho](#example-workflow).\n\n> \\[!NOTE]\n> Atualmente, o CodeQL CLI não é compatível com distribuições Linux não glibc, como o Alpine Linux (baseado em musl).\n\n## Dependências para CodeQLcode scanning\n\nTalvez você tenha dificuldade para executar code scanning se o contêiner que você está usando estiver faltando determinadas dependências (por exemplo, o Git deve ser instalado e adicionado à variável PATH). Se você encontrar problemas de dependência, examine a lista de softwares normalmente incluídos nas GitHubimagens do executor. Para obter mais informações, confira os arquivos `readme` específicos da versão nestes locais:\n\n* Linux: <https://github.com/actions/runner-images/tree/main/images/ubuntu>\n* macOS - <https://github.com/actions/runner-images/tree/main/images/macos>\n* Windows: <https://github.com/actions/runner-images/tree/main/images/windows>\n\n## Fluxo de trabalho de exemplo\n\nEste fluxo de trabalho de exemplo usa GitHub Actions para executar CodeQL a análise em um ambiente em contêineres. O valor de `container.image` identifica o contêiner a ser usado. Neste exemplo, a imagem é nomeada `codeql-container`, com uma tag de `f0f91db`. Para obter mais informações, consulte [Sintaxe de fluxo de trabalho para o GitHub Actions](/pt/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idcontainer).\n\n```yaml\nname: \"CodeQL\"\n\non:\n  push:\n    branches: [main]\n  pull_request:\n    branches: [main]\n  schedule:\n    - cron: '15 5 * * 3'\n\njobs:\n  analyze:\n    name: Analyze\n    runs-on: ubuntu-latest\n    permissions:\n      security-events: write\n      actions: read\n\n    strategy:\n      fail-fast: false\n      matrix:\n        language: [java-kotlin]\n\n    # Specify the container in which actions will run\n    container:\n      image: codeql-container:f0f91db\n\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v6\n      - name: Initialize CodeQL\n        uses: github/codeql-action/init@v4\n        with:\n          languages: ${{ matrix.language }}\n      - name: Build\n        run: |\n          ./configure\n          make\n      - name: Perform CodeQL Analysis\n        uses: github/codeql-action/analyze@v4\n```"}