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.
- Inicializar CodeQL
- AutoBuild (o las tareas de compilación personalizadas)
- 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
- examen de código para gitHub Advanced Security