{"meta":{"title":"Ejecutarel escaneo de código de CodeQL en un contenedor","intro":"Puedes ejecutar el code scanning en un contenedor si garantizas que todos los procesos se ejecutan en el mismo contenedor.","product":"Seguridad y calidad del código","breadcrumbs":[{"href":"/es/code-security","title":"Seguridad y calidad del código"},{"href":"/es/code-security/tutorials","title":"Tutorials"},{"href":"/es/code-security/tutorials/customize-code-scanning","title":"Personalización del examen de código"},{"href":"/es/code-security/tutorials/customize-code-scanning/running-codeql-code-scanning-in-a-container","title":"Code scanning en un contenedor"}],"documentType":"article"},"body":"# Ejecutarel escaneo de código de CodeQL en un contenedor\n\nPuedes ejecutar el code scanning en un contenedor si garantizas que todos los procesos se ejecutan en el mismo contenedor.\n\n## Acerca del code scanning con una compilación en contenedor\n\nSi estás configurando el code scanning para un lenguaje compilado y estás compilando el código en un entorno contenedorizado, el análisis podría dar error con el mensaje de error \"No se vio código fuente durante la compilación\". Esto indica que CodeQL no fue capaz de monitorear tu código mientras se compilaba.\n\nDebes ejecutar a CodeQL dentro del mismo contenedor en el que compilaste tu código. Esto se aplica si usas la CodeQL CLI o GitHub Actions. Para la CodeQL CLI, consulte [Utilizar el análisis de código de CodeQL con tu sistema de IC existente](/es/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system) para obtener más información. Si estás utilizando GitHub Actions, configura tu flujo de trabajo para ejecutar todas las acciones en el mismo contenedor. Para obtener más información, consulte [Flujo de trabajo de ejemplo](#example-workflow).\n\n> \\[!NOTE]\n> La CodeQL CLI no es compatible actualmente con distribuciones de Linux que no sean glibc, como Alpine Linux (basado en musl).\n\n## Dependencias para CodeQL code scanning\n\nEs posible que tengas alguna dificultad para ejecutar el code scanning si el contenedor que estás utilizando carece de ciertas dependencias (Por ejemplo, Git debe instalarse y agregarse a la variable PATH). Si te encuentras con algún problema en las dependencias, revisa la lista de software que habitualmente se incluye en las imágenes de ejecutores de GitHub. Para obtener más información, vea los archivos `readme` específicos de la versión en estas ubicaciones:\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## Flujo de trabajo de ejemplo\n\nEste flujo de trabajo de muestra utiliza GitHub Actions para ejecutar un análisis de CodeQL en un ambiente contenido. El valor de `container.image` identifica el contenedor que se va a usar. En este ejemplo, la imagen se denomina `codeql-container`, con una etiqueta de `f0f91db`. Para más información, consulta [Sintaxis del flujo de trabajo para GitHub Actions](/es/actions/using-workflows/workflow-syntax-for-github-actions#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```"}