Compartir a través de


AdvancedSecurity-Codeql-Init@1: tarea Advanced Security Initialize CodeQL v1

Inicializa la base de datos CodeQL como preparación para la compilación.

Debe tener GitHub Advanced Security para Azure DevOps habilitado para el repositorio que se está examinando.

Sintaxis

# Advanced Security Initialize CodeQL v1
# Initializes the CodeQL database in preparation for building.
- task: AdvancedSecurity-Codeql-Init@1
  inputs:
    #enableAutomaticCodeQLInstall: false # boolean. Enable automatic CodeQL detection and installation. Default: false.
    #languages: # 'csharp' | 'cpp' | 'go' | 'java' | 'javascript' | 'python' | 'ruby' | 'swift'. Languages to analyze. 
    #querysuite: 'Select a query suite...' # 'Select a query suite...' | 'code-scanning' | 'security-extended' | 'security-experimental' | 'security-and-quality'. CodeQL Query Suite to use for analysis. Default: Select a query suite....
    #buildtype: 'Manual' # 'Manual' | 'None'. Select build mode (manual vs none). Default: Manual.
  # Advanced
    #ram: # string. Options to control RAM usage in MB. 
    #threads: # string. Use this many threads to evaluate queries. 
    #codeqlpathstoignore: # string. Set a list of paths to exclude in the CodeQL analysis. 
    #codeqlpathstoinclude: # string. Set a list of additional paths to include in the CodeQL analysis. 
    #sourcesfolder: # string. Sets the folder that contains the sources to be analyzed. 
    #loglevel: '_' # '0' | '1' | '2' | '_'. Set the log level for the CodeQL analysis. Default: _.
    #configfilepath: # string. Use this to enable custom query analysis in codeql (path must be absolute). 
    #codeqltoolsdirectory: # string. Set a custom CodeQL tools directory (path must be absolute).

Entradas

enableAutomaticCodeQLInstall - Habilitar la detección y la instalación automáticas de CodeQL
boolean. Valor predeterminado: false.

Al seleccionar esta opción, se establecerá la tarea para comprobar automáticamente CodeQL en el agente. Si CodeQL no está configurado correctamente o en la versión más reciente, la tarea instalará automáticamente la versión más reciente.


languages - Idiomas para analizar
string. Valores permitidos: csharp, cpp, go, java, javascript, python, ruby, swift.

Lenguaje de programación que se va a analizar. Varios idiomas pueden estar separados por una coma.

Puede establecer el idioma aquí en la tarea o puede especificar el idioma en una variable de canalización denominada advancedsecurity.codeql.language. Si se establecen ambos, el valor especificado en la tarea tiene prioridad.


querysuite - CodeQL Query Suite que se va a usar para el análisis.
string. Valores permitidos: Select a query suite..., code-scanning, security-extended, security-experimental, security-and-quality. Valor predeterminado: Select a query suite....

Conjunto de reglas del conjunto de consultas, que se usa para el análisis. Puede especificar el valor aquí en la tarea o puede especificarlo en una variable de canalización denominada advancedsecurity.codeql.querysuite. Si se establecen ambos, el valor especificado en la tarea tiene prioridad. El valor predeterminado es Select a query suite... que indica que el conjunto de consultas debe especificarse en la variable advancedsecurity.codeql.querysuite.


buildtype - Seleccionar el modo de compilación (manual frente a ninguno)
string. Valores permitidos: Manual, None. Valor predeterminado: Manual.

Especifique Manual si desea compilar manualmente el proyecto antes de ejecutar el análisis de CodeQL. Especifique None si desea ejecutar el análisis de CodeQL sin compilar el proyecto.

Para obtener más información sobre los distintos modos de compilación, incluida una comparación sobre las ventajas de cada modo de compilación, consulte análisis de código codeQL para lenguajes compilados. Para usar autobuild, agregue la tarea AdvancedSecurity-CodeQL-Autobuild@1 a la canalización. Para obtener más información, vea Personalización del modo de compilación de examen de código.


opciones de ram - para controlar el uso de RAM en mb
string.

Establezca la cantidad total de RAM que debe permitirse usar el evaluador de consultas.

Puede especificar ram aquí en la tarea o puede especificarlo en una variable de canalización denominada advancedsecurity.codeql.ram. Si se establecen ambos, el valor especificado en la tarea tiene prioridad.


threads - Use estos muchos subprocesos para evaluar las consultas
string.

Puede pasar 0 para usar un subproceso por núcleo en la máquina o -N dejar N núcleos sin usar (excepto usar al menos un subproceso).

Puede especificar threads aquí en la tarea o puede especificarlo en una variable de canalización denominada advancedsecurity.codeql.threads. Si se establecen ambos, el valor especificado en la tarea tiene prioridad.


codeqlpathstoignore - Establecer una lista de rutas de acceso que se excluirán en el análisis codeQL
string.

Puede proporcionar varias rutas de acceso separadas por comas. Las rutas de acceso deben ser relativas a la sourcesfolder donde se ejecuta CodeQL, que tiene como valor predeterminado la variable de entorno de canalización de Build.SourcesDirectory. Por ejemplo, para pasar por alto el directorio $(Build.SourcesDirectory)/donotscan, establezca codeqlpathstoignore: donotscan en lugar de codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan.

Importante

La configuración de codeqlpathstoignore solo se aplica cuando se ejecutan las tareas de CodeQL en un lenguaje interpretado (Python, Ruby y JavaScript/TypeScript) o cuando se analiza un lenguaje compilado sin compilar el código (actualmente compatible con C# y Java).


codeqlpathstoinclude - Establecer una lista de rutas de acceso adicionales que se van a incluir en el de análisis codeQL
string.

Puede proporcionar varias rutas de acceso separadas por comas. Las rutas de acceso deben ser relativas a la sourcesfolder donde se ejecuta CodeQL, que tiene como valor predeterminado la variable de entorno de canalización de Build.SourcesDirectory. Por ejemplo, para incluir el directorio $(Build.SourcesDirectory)/app, establezca codeqlpathstoinclude: app en lugar de codeqlpathstoinclude: $(Build.SourcesDirectory)/app.

Importante

La configuración de codeqlpathstoinclude solo se aplica cuando se ejecutan las tareas de CodeQL en un lenguaje interpretado (Python, Ruby y JavaScript/TypeScript) o cuando se analiza un lenguaje compilado sin compilar el código (actualmente compatible con C# y Java).


sourcesfolder - Establece la carpeta que contiene los orígenes que se van a analizar
string.

Si no proporciona este valor, se usa la carpeta de orígenes predeterminada para la infraestructura de canalización (proporcionada por la variable Build.SourcesDirectory).


loglevel - Establecer el nivel de registro para el análisis de CodeQL
string. Valores permitidos: 0 (Advertencia), 1 (Detallado), 2 (Depuración), _ (Valor predeterminado [Advertencia]). Valor predeterminado: _.

Especifique el nivel de registro.

Puede especificar loglevel aquí en la tarea o puede especificarlo en una variable de canalización denominada advancedsecurity.codeql.loglevel. Si se establecen ambos, el valor especificado en la tarea tiene prioridad, a menos que se especifique el valor predeterminado _ para loglevel de la tarea. Si se especifica _, se usa el valor de advancedsecurity.codeql.loglevel si está disponible.


configfilepath - Use esto para habilitar el análisis de consultas personalizado en codeql (la ruta de acceso debe ser absoluta).
string.

Si no se proporciona la ruta de acceso, el análisis de codeql continuará con las consultas predeterminadas.


codeqltoolsdirectory - Establecer un directorio de herramientas codeQL personalizado (la ruta de acceso debe ser absoluta)
string.

Si no se proporciona la ruta de acceso, se usará el valor predeterminado de $agent_toolsdirectory.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Observaciones

Debe tener GitHub Advanced Security para Azure DevOps habilitado para el repositorio que se está examinando.

Importante

Esta tarea solo se admite con repositorios git de Azure Repos.

La canalización debe llamar a las tareas en el orden siguiente.

  1. Inicializar CodeQL
  2. AutoBuild (o las tareas de compilación personalizadas)
  3. Realizar análisis de CodeQL

La tarea AutoBuild es opcional y puede reemplazarse por las tareas de compilación personalizadas. AutoBuild o las tareas de compilación personalizadas deben ejecutarse para que el proyecto se analice.

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
demandas Ninguno
funcionalidades de Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
restricciones de comandos Cualquier
variables settable Cualquier
Versión del agente Todas las versiones de agente admitidas.
Categoría de tarea Construir

Consulte también