Esta versión de GitHub Enterprise se discontinuará el 2022-02-16. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

Ejecutarel escaneo de código de CodeQL en un contenedor

Puedes ejecutar el escaneo de código en un contenedor si garantizas que todos los procesos se ejecutan en el mismo contenedor.

El Escaneo de código se encuentra disponible si tienes una licencia de GitHub Advanced Security. Para obtener más información, consulta la sección "Acerca de GitHub Advanced Security".

Nota: El Ejecutor de CodeQL se va a obsoletizar. Por favor, utiliza la versión 2.6.2 de CodeQL CLI o superior en su lugar. GitHub Enterprise Server 3.3 será la última serie de lanzamiento que será compatible con el Ejecutor de CodeQL. En Nube de GitHub Enterprise, el Ejecutor de CodeQL será compatible hasta marzo del 2022. Para obtener más información, consulta la obsoletización del ejecutor de CodeQL.

Acerca del escaneo de código con una compilación en contenedor

Si estás configurando el escaneo de código para un lenguaje compilado, y estás compilando el código en un ambiente contenido, el análisis podría fallar con el mensaje de error "No source code was seen during the build". Esto indica que CodeQL no fue capaz de monitorear tu código mientras se compilaba.

Debes ejecutar a CodeQL dentro del mismo contenedor en el que compilaste tu código. Esto aplica ya sea que estés utilizando el Ejecutor de CodeQL o GitHub Actions. Para encontrar más información sobre el Ejecutor de CodeQL, consulta la sección "ejecutar el Ejecutor de CodeQL en tu sistema de IC". 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, consulta la sección "Ejemplo de flujo de trabajo".

Dependencias

Es posible que tengas alguna dificultad para ejecutar el escaneo de código 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 los ambientes virtuales de GitHub. Para obtener más información, consulta los archivos readme específicos de la versión en estas ubicaciones:

Ejemplo de flujo de trabajo

Este 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 debe utilizar. En este ejemplo, se le llama a la imagen codeql-container, con una etiqueta de f0f91db. Para obtener más información, consulta la sección "Sintaxis de flujo de trabajo para GitHub Actions".

name: "CodeQL"

on: 
  push:
    branches: [main]
  pull_request:
    branches: [main]
  schedule:
    - cron: '15 5 * * 3'

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        language: [java]

    # Specify the container in which actions will run
    container:
      image: codeql-container:f0f91db

    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v1
        with:
          languages: ${{ matrix.language }}
      - name: Build
        run: |
          ./configure
          make
      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v1

¿Te ayudó este documento?

Política de privacidad

¡Ayúdanos a hacer geniales estos documentos!

Todos los documentos de GitHub son de código abierto. ¿Notas algo que esté mal o que no sea claro? Emite una solicitud de cambios.

Haz una contribución

O, aprende cómo contribuir.