AdvancedSecurity-Codeql-Init@1 - Tâche Advanced Security Initialize CodeQL v1
Initialise la base de données CodeQL en préparation de la génération.
Vous devez avoir GitHub Advanced Security pour Azure DevOps activé pour le référentiel analysé.
Syntaxe
# 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).
Entrées
enableAutomaticCodeQLInstall
-
Activer la détection et l’installation automatiques codeQL
boolean
. Valeur par défaut : false
.
Si vous sélectionnez cette option, la tâche doit être automatiquement activée pour CodeQL sur l’agent. Si CodeQL n’est pas correctement configuré ou à la dernière version, la tâche installe automatiquement la dernière version.
languages
-
Langues pour analyser
string
. Valeurs autorisées : csharp
, cpp
, go
, java
, javascript
, python
, ruby
, swift
.
Langage de programmation à analyser. Plusieurs langues peuvent être séparées par une virgule.
Vous pouvez définir la langue ici dans la tâche, ou vous pouvez spécifier la langue dans une variable de pipeline nommée advancedsecurity.codeql.language
. Si les deux sont définis, la valeur spécifiée dans la tâche est prioritaire.
querysuite
-
CodeQL Query Suite à utiliser pour l’analyse.
string
. Valeurs autorisées : Select a query suite...
, code-scanning
, security-extended
, security-experimental
, security-and-quality
. Valeur par défaut : Select a query suite...
.
La suite de requêtes, c’est-à-dire l’ensemble de règles, utilisé pour l’analyse. Vous pouvez spécifier la valeur ici dans la tâche, ou vous pouvez la spécifier dans une variable de pipeline nommée advancedsecurity.codeql.querysuite
. Si les deux sont définis, la valeur spécifiée dans la tâche est prioritaire. La valeur par défaut est Select a query suite...
qui indique que la suite de requêtes doit être spécifiée dans la variable advancedsecurity.codeql.querysuite
.
buildtype
-
Sélectionner le mode de génération (manuel ou aucun)
string
. Valeurs autorisées : Manual
, None
. Valeur par défaut : Manual
.
Spécifiez Manual
si vous souhaitez générer manuellement le projet avant d’exécuter l’analyse CodeQL. Spécifiez None
si vous souhaitez exécuter l’analyse CodeQL sans générer le projet.
Pour plus d’informations sur les différents modes de génération, notamment une comparaison sur les avantages de chaque mode de génération, consultez analyse du code CodeQL pour les langages compilés. Pour utiliser autobuild
, ajoutez la tâche AdvancedSecurity-CodeQL-Autobuild@1 à votre pipeline. Pour plus d’informations, consultez Personnalisation du mode de génération de l’analyse du code.
options ram
- pour contrôler l’utilisation de la RAM en Mo
string
.
Définissez la quantité totale de RAM que l’évaluateur de requête doit être autorisé à utiliser.
Vous pouvez spécifier ram
ici dans la tâche, ou vous pouvez le spécifier dans une variable de pipeline nommée advancedsecurity.codeql.ram
. Si les deux sont définis, la valeur spécifiée dans la tâche est prioritaire.
threads
-
Utiliser ce grand nombre de threads pour évaluer les requêtes
string
.
Vous pouvez passer 0 pour utiliser un thread par cœur sur l’ordinateur ou -N pour laisser les cœurs N inutilisés (sauf toujours utiliser au moins un thread).
Vous pouvez spécifier threads
ici dans la tâche, ou vous pouvez le spécifier dans une variable de pipeline nommée advancedsecurity.codeql.threads
. Si les deux sont définis, la valeur spécifiée dans la tâche est prioritaire.
codeqlpathstoignore
-
définir une liste de chemins à exclure dans l’analyse CodeQL
string
.
Vous pouvez fournir plusieurs chemins séparés par des virgules. Les chemins d’accès doivent être relatifs à l'sourcesfolder
où CodeQL est en cours d’exécution, ce qui correspond par défaut à la variable d’environnement de pipeline Build.SourcesDirectory
. Par exemple, pour ignorer le répertoire $(Build.SourcesDirectory)/donotscan
, définissez codeqlpathstoignore: donotscan
plutôt que codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan
.
Important
Le paramètre codeqlpathstoignore
s’applique uniquement lorsque vous exécutez les tâches CodeQL sur un langage interprété (Python, Ruby et JavaScript/TypeScript) ou lorsque vous analysez un langage compilé sans générer le code (actuellement pris en charge pour C# et Java).
codeqlpathstoinclude
-
Définir une liste de chemins d’accès supplémentaires à inclure dans l’analyse CodeQL
string
.
Vous pouvez fournir plusieurs chemins séparés par des virgules. Les chemins d’accès doivent être relatifs à l'sourcesfolder
où CodeQL est en cours d’exécution, ce qui correspond par défaut à la variable d’environnement de pipeline Build.SourcesDirectory
. Par exemple, pour inclure le répertoire $(Build.SourcesDirectory)/app
, définissez codeqlpathstoinclude: app
plutôt que codeqlpathstoinclude: $(Build.SourcesDirectory)/app
.
Important
Le paramètre codeqlpathstoinclude
s’applique uniquement lorsque vous exécutez les tâches CodeQL sur un langage interprété (Python, Ruby et JavaScript/TypeScript) ou lorsque vous analysez un langage compilé sans générer le code (actuellement pris en charge pour C# et Java).
sourcesfolder
-
Définit le dossier qui contient les sources à analyser
string
.
Si vous ne fournissez pas cette valeur, le dossier sources par défaut de l’infrastructure de pipeline est utilisé (fourni par la variable Build.SourcesDirectory
).
loglevel
-
définir le niveau de journal pour l’analyse CodeQL
string
. Valeurs autorisées : 0
(avertissement), 1
(détaillé), 2
(débogage), _
(par défaut (avertissement)). Valeur par défaut : _
.
Spécifiez le niveau de journalisation.
Vous pouvez spécifier loglevel
ici dans la tâche, ou vous pouvez le spécifier dans une variable de pipeline nommée advancedsecurity.codeql.loglevel
. Si les deux sont définis, la valeur spécifiée dans la tâche est prioritaire, sauf si la valeur par défaut _
pour loglevel
dans la tâche est spécifiée. Si _
est spécifié, la valeur de advancedsecurity.codeql.loglevel
est utilisée si disponible.
configfilepath
-
Utilisez cette option pour activer l’analyse de requête personnalisée dans codeql (le chemin doit être absolu).
string
.
Si le chemin d’accès n’est pas fourni, l’analyse codeql poursuit les requêtes par défaut.
codeqltoolsdirectory
-
définir un répertoire d’outils CodeQL personnalisé (le chemin d’accès doit être absolu)
string
.
Si le chemin d’accès n’est pas fourni, la valeur par défaut de $agent_toolsdirectory
sera utilisée.
Options de contrôle de tâche
Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.
Variables de sortie
Aucun.
Remarques
Vous devez avoir GitHub Advanced Security pour Azure DevOps activé pour le référentiel analysé.
Important
Cette tâche est prise en charge uniquement avec les référentiels Git Azure Repos.
Le pipeline doit appeler les tâches dans l’ordre suivant.
- Initialiser CodeQL
- AutoBuild (ou vos tâches de génération personnalisées)
- Effectuer une analyse CodeQL
La tâche AutoBuild est facultative et peut être remplacée par vos tâches de génération personnalisées. AutoBuild ou vos tâches de build personnalisées doivent être exécutées pour que votre projet soit analysé.
Exigences
Exigence | Description |
---|---|
Types de pipelines | YAML, Build Classique, Version Classique |
Exécutions sur | Agent, DeploymentGroup |
demandes | Aucun |
fonctionnalités de | Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail. |
restrictions de commande | Quelconque |
variables settables | Quelconque |
Version de l’agent | Toutes les versions de l’agent prises en charge. |
Catégorie de tâche | Construire |
Voir aussi
- analyse de code pour gitHub Advanced Security