Nota: El Escaneo de código se encuentra en beta dentro de GitHub Enterprise Server 2.22. Para encontrar un lanzamiento de disponibilidad general del escaneo de código, mejora al último lanzamiento de GitHub Enterprise Server.
Nota: Tu administrador de sitio debe habilitar el escaneo de código para tu instancia de GitHub Enterprise Server antes de que puedas utilizar esta característica. Si quieres utilizar GitHub Actions para escanear tu código, el administrador de sitio también puede habilitar las GitHub Actions y configurar la infraestructura que se requiera. Para obtener más información, consulta "Configurar el escaneo de código en tu aplicativo."
Opciones para configurar el escaneo de código
Tú decides cómo generar las alertas del escaneo de código y qué herramientas utilizar a nivel de repositorio. GitHub Enterprise Server te proporciona compatibilidad total e integrada para el análisis de CodeQL y también es compatible con el análisis de herramientas de terceros. Para obtener más información, consulta la sección "Acerca deCodeQL".
|
Opciones para generar alertas |
---|---|
Configurar el escaneo de código utilizando acciones
-
En GitHub Enterprise Server, visita la página principal del repositorio.
-
Debajo de tu nombre de repositorio, da clic en Seguridad.
-
A la derecha de "alertas del Escaneo de código", haz clic en Configurar el escaneo de código.
-
Debajod e "Iniciar con el escaneo de código", da clic en Configurar este flujo de trabajo en el Flujo de trabajo de análisis de CodeQL o en el flujo de trabajo de terceros.
-
Para personalizar la forma en que el escaneo de código escanea tu còdigo, edita el flujo de trabajo.
Generalmente, puedes confirmar el Flujo de trabajo de análisis de CodeQL sin hacerle ningùn cambio. Sin embargo, muchos de los flujos de trabajo de terceros requieren de configuraciones adicionales, asì que lee los comentarios en el flujo de trabajo antes de confirmar.
Para obtener más información, consulta "Configurar escaneo de código".
-
Utiliza el menú desplegable deComenzar confirmación, y teclea un mensaje de confirmación.
-
Escoge si te gustaría confirmar directamente en la rama predeterminada, o crear una nueva rama y comenzar una solicitud de extracción.
-
Da clic en Confirmar archivo nuevo o en Proponer archivo nuevo.
En el Flujo de trabajo de análisis de CodeQL predeterminado, el escaneo de código se configura para analizar tu código cada vez que ya sea subas un cambio a la rama predeterminada o a cualquier rama protegida, o que levantes una solicitud de cambios contra la rama predeterminada. Como resultado, el escaneo de código comenzarà ahora.
Configuración del escaneo de código por lotes
Puedes configurar el escaneo de código en muchos repositorios al mismo tiempo utilizando un script. Para encontrar un ejemplo de un script que levanta solicitudes de cambio para agregar un flujo de trabajo de GitHub Actions a repositorios múltiples, consulta el repositorio jhutchings1/Create-ActionsPRs
para ver cómo se hace con Powershell o el de nickliffen/ghas-enablement
para los equipos que no tengan Powershell y les gustaría trabajar con NodeJS en su lugar.
Visualizar la salida de registro del escaneo de código
Después de configurar el escaneo de código para tu repositorio, puedes observar la salida de las acciones mientras se ejecutan.
-
Debajo del nombre de tu repositorio, da clic en Acciones.
Veràs una lista que incluye una entrada para ejecutar el flujo de trabajo del escaneo de código. El texto de la entrada es el título que le diste a tu mensaje de confirmación.
-
Da clic en la entrada para el flujo de trabajo de escaneo de código.
-
Da clic en el nombre del job situado a la izquierda. Por ejemplo, Analizar (IDIOMA).
-
Revisa la salida de registro de las acciones en este flujo de trabajo conforme se ejecutan.
-
Una vez que todos los jobs se completen, puedes ver los detalles de cualquier alerta del escaneo de código que se hayan identificado. Para obtener más información, consulta la sección "Administrar las alertas de escaneo de código para tu repositorio".
Nota: Si levantaste una solicitud de cambios para agregar el flujo de trabajo del escaneo de código a las alertas del repositorio, las alertas de esa solicitud de cambios no se mostraràn directamente en la pàgina del Escaneo de código hasta que se fusione dicha solicitud. Si se encontrò alguna de las alertas, puedes verlas antes de que se fusione la solicitud de extracciòn dando clic en el enlace de n alertas encontradas en el letrero de la pàgina del Escaneo de código.
Entender las verificaciones de la solicitud de cambios
Cada flujo de trabajo del escaneo de código que configuras para que se utilice en las solicitudes de cambios siempre tiene por lo menos dos entradas listadas en la sección de verificaciones de una solicitud de cambios. Solo hay una entrada para cada uno de los jobs de anàlisis en el flujo de trabajo y uno final para los resultados del anàlisis.
Los nombres de las verificaciones del anàlisis del escaneo de código se expresan en la forma: "NOMBRE DE LA HERRAMIENTA / NOMBRE DEL JOB (ACTIVADOR)." Por ejemplo, para CodeQL, el anàlisis de còdigo en C++ tiene la entrada "CodeQL / Analyze (cpp) (pull_request)". Puedes dar clic en Detalles en una entrada de anàlisis de escaneo de código para ver los datos de registro. Esto te permite depurar un problema si falla el job de anàlisis. Por ejemplo, para el anàlisis del escaneo de código de los lenguajes compilados, esto puede suceder si la acciòn no puede compilar el còdigo.
Cuando se completan los jobs del escaneo de código, GitHub averigua si la solicitud de cambios agregò alguna alerta y agrega la entrada "resultados del Escaneo de código / NOMBRE DE LA HERRAMIENTA" a la lista de verificaciones. Despuès de que se lleve a cabo el escaneo de código por lo menos una vez, puedes dar clic en Detalles para ver los resultados del anàlisis. Si utilizaste una solicitud de cambios para agregar el escaneo de código al repositorio, veràs inicialmente un mensaje de "Missing analysis" cuando des clic en la parte de Detalles de la verificaciòn "resultados del Escaneo de código / NOMBRE DE LA HERRAMIENTA".
Razones para recibir un mensaje de "missing analysis"
Despuès de que el escaneo de código analiza el còdigo en una solicitud de cambios, necesita comparar el anàlisis de la rama de tema (la rama que utilizaste para crear la silicolicitud de cambios) con el anàlisis de la rama base (la rama en la cual quieres fusionar la solicitud de cambios). Esto permite al escaneo de código calcular què alertas introdujo la solicitud de cambios recientemente, cuàles ya estaban presentes en la rama base y si es que cualquiera de las alertas existentes se arreglan con los cambios que lleva la solicitud. Inicialmente, si utilizas una solicitud de cambios para agregar el escaneo de código a un repositorio, la rama base no se ha analizado, asì que no es posible calcular estos detalles. En este caso, cuando das clic en la verificaciòn de los resultados de la solicitud de cambios, veràs el mensaje "Missing analysis for base commit SHA-HASH".
Existen otras situaciones en donde puede que no haya un anàlisis para la ùltima confirmaciòn hacia la rama base para una solicitud de cambios. Entre estas se incluyen cuando:
-
La solicitud de cambios se levantó contra una rama diferente a la predeterminada y ésta no se ha analizado.
Para verificar si se ha escaneado una rama, ve a la pàgina de Escaneo de código, da clic en el menù desplegable de Rama y selecciona la rama relevante.
La soluciòn a esta situaciòn es agregar el nombre de esta rama base a las especificaciones de
on:push
yon:pull_request
en el flujo de trabajo del escaneo de código en esta rama y luego hacer un cambio que actualice la solicitud de cambios abierta que quieres escanear. -
La ùltima confirmaciòn en la rama base para la solicitud de cambios se està analizando actualmente y dicho anàlisis no està disponible aùn.
Espera algunos minutos y luego sube un cambio a la solicitud de extracciòn para reactivar el escaneo de código.
-
Ocurriò un error mientras se analizaba la ùltima confirmaciòn en la rama base y el anàlisis para esa confirmaciòn no està disponible.
Fusiona un cambio trivial en la rama base para activar el escaneo de código en esta ùltima confirmaciòn, luego sube un cambio a la solicitud de extracciòn para volver a activar el escaneo de código.
Pasos siguientes
Después de configurar el escaneo de código y permitir que se completen sus acciones, puedes:
- Ver todas las alertas del escaneo de código que se han generado para este repositorio. Para obtener más información, consulta la sección "Administrar las alertas de escaneo de código para tu repositorio".
- Ver cualquier alerta que se genere para una solicitud de cambios que se emitió después de que configuraste el escaneo de código. Para obtener màs informaciònPara obtener más información, consulta la sección "Clasificar las alertas del escaneo de código en las solicitudes de extracción".
- Configurar las notificaciones para las ejecuciones que se hayan completado. Para obtener más información, consulta la sección "Configurar notificaciones".
- Investigar cualquier problema que ocurre con la configuración inicial del escaneo de código de CodeQL. Para obtener más información, consulta la sección "Solucionar problemas del flujo de trabajo de CodeQL".
- Personaliza cómo el escaneo de código escanea el código en tu repositorio. Para obtener más información, consulta "Configurar escaneo de código".