AdvancedSecurity-Codeql-Init@1 - Attività Advanced Security Initialize CodeQL v1
Inizializza il database CodeQL in preparazione alla compilazione.
È necessario avere GitHub Advanced Security for Azure DevOps abilitato per l'analisi del repository.
Sintassi
# 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).
Ingressi
enableAutomaticCodeQLInstall
-
Abilitare il rilevamento e l'installazione automatici di CodeQL
boolean
. Valore predefinito: false
.
Se si seleziona questa opzione, l'attività verrà impostata per verificare automaticamente la presenza di CodeQL nell'agente. Se CodeQL non è configurato correttamente o alla versione più recente, l'attività installerà automaticamente la versione più recente.
languages
-
Lingue da analizzare
string
. Valori consentiti: csharp
, cpp
, go
, java
, javascript
, python
, ruby
, swift
.
Linguaggio di programmazione da analizzare. Più lingue possono essere separate da una virgola.
- task: AdvancedSecurity-Codeql-Init@1
inputs:
languages: 'cpp, java, python'
# This languages value is valid, the Pipelines editor
# doesn't recognize all combinations and only validates
# correctly when a single language is specified
È possibile impostare il linguaggio qui nell'attività oppure specificare il linguaggio in una variabile della pipeline denominata advancedsecurity.codeql.language
. Se entrambi sono impostati, il valore specificato nell'attività ha la precedenza.
querysuite
-
CodeQL Query Suite da usare per l'analisi.
string
. Valori consentiti: Select a query suite...
, code-scanning
, security-extended
, security-experimental
, security-and-quality
. Valore predefinito: Select a query suite...
.
Gruppo di query, ovvero set di regole, usato per l'analisi. È possibile specificare il valore qui nell'attività oppure specificarlo in una variabile della pipeline denominata advancedsecurity.codeql.querysuite
. Se entrambi sono impostati, il valore specificato nell'attività ha la precedenza. Il valore predefinito è Select a query suite...
che indica che il gruppo di query deve essere specificato nella variabile advancedsecurity.codeql.querysuite
.
buildtype
-
Selezionare la modalità di compilazione (manuale e nessuna)
string
. Valori consentiti: Manual
, None
. Valore predefinito: Manual
.
Specificare Manual
se si vuole compilare manualmente il progetto prima di eseguire l'analisi CodeQL. Specificare None
se si vuole eseguire l'analisi CodeQL senza compilare il progetto.
Per altre informazioni sulle diverse modalità di compilazione, incluso un confronto sui vantaggi di ogni modalità di compilazione, vedere analisi del codice CodeQL per i linguaggi compilati. Per usare autobuild
, aggiungere l'attività AdvancedSecurity-CodeQL-Autobuild@1 alla pipeline. Per altre informazioni, vedere Personalizzazione della modalità di compilazione per l'analisi del codice.
ram
-
Opzioni per controllare l'utilizzo della RAM in MB
string
.
Impostare la quantità totale di RAM che l'analizzatore di query deve essere autorizzato a usare.
È possibile specificare ram
qui nell'attività oppure specificarlo in una variabile della pipeline denominata advancedsecurity.codeql.ram
. Se entrambi sono impostati, il valore specificato nell'attività ha la precedenza.
threads
-
Usare questo numero di thread per valutare le query
string
.
È possibile passare 0 per usare un thread per core nel computer o -N per lasciare inutilizzati N core (tranne che usare almeno un thread).
È possibile specificare threads
qui nell'attività oppure specificarlo in una variabile della pipeline denominata advancedsecurity.codeql.threads
. Se entrambi sono impostati, il valore specificato nell'attività ha la precedenza.
codeqlpathstoignore
-
Impostare un elenco di percorsi da escludere nell'analisi CodeQL
string
.
È possibile specificare più percorsi separati da virgole. I percorsi devono essere relativi alla sourcesfolder
in cui è in esecuzione CodeQL, che per impostazione predefinita corrisponde alla variabile di ambiente della pipeline Build.SourcesDirectory
. Ad esempio, per ignorare la directory $(Build.SourcesDirectory)/donotscan
, impostare codeqlpathstoignore: donotscan
anziché codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan
.
Importante
L'impostazione codeqlpathstoignore
si applica solo quando si eseguono le attività CodeQL in un linguaggio interpretato (Python, Ruby e JavaScript/TypeScript) o quando si analizza un linguaggio compilato senza compilare il codice (attualmente supportato per C# e Java).
codeqlpathstoinclude
-
Impostare un elenco di percorsi aggiuntivi da includere nell'analisi codeQL
string
.
È possibile specificare più percorsi separati da virgole. I percorsi devono essere relativi alla sourcesfolder
in cui è in esecuzione CodeQL, che per impostazione predefinita corrisponde alla variabile di ambiente della pipeline Build.SourcesDirectory
. Ad esempio, per includere la directory $(Build.SourcesDirectory)/app
, impostare codeqlpathstoinclude: app
anziché codeqlpathstoinclude: $(Build.SourcesDirectory)/app
.
Importante
L'impostazione codeqlpathstoinclude
si applica solo quando si eseguono le attività CodeQL in un linguaggio interpretato (Python, Ruby e JavaScript/TypeScript) o quando si analizza un linguaggio compilato senza compilare il codice (attualmente supportato per C# e Java).
sourcesfolder
-
Imposta la cartella contenente le origini da analizzare
string
.
Se non si specifica questo valore, viene usata la cartella origini predefinite per l'infrastruttura della pipeline (fornita dalla variabile Build.SourcesDirectory
).
loglevel
-
Impostare il livello di log per l'analisi codeQL
string
. Valori consentiti: 0
(avviso), 1
(dettagliato), 2
(debug), _
(impostazione predefinita (avviso)). Valore predefinito: _
.
Specificare il livello di registrazione.
È possibile specificare loglevel
qui nell'attività oppure specificarlo in una variabile della pipeline denominata advancedsecurity.codeql.loglevel
. Se entrambi sono impostati, il valore specificato nell'attività ha la precedenza, a meno che non venga specificato il valore predefinito _
per loglevel
nell'attività. Se si specifica _
, il valore di advancedsecurity.codeql.loglevel
viene utilizzato, se disponibile.
configfilepath
-
Usare questa opzione per abilitare l'analisi di query personalizzata in codeql (il percorso deve essere assoluto).
string
.
Se il percorso non viene specificato, l'analisi codeql procederà con le query predefinite.
codeqltoolsdirectory
-
Impostare una directory personalizzata degli strumenti CodeQL (percorso deve essere assoluto)
string
.
Se il percorso non viene specificato, verrà utilizzato il valore predefinito di $agent_toolsdirectory
.
Opzioni di controllo attività
Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di output
Nessuno.
Osservazioni
È necessario avere GitHub Advanced Security for Azure DevOps abilitato per l'analisi del repository.
Importante
Questa attività è supportata solo con i repository Git di Azure Repos.
La pipeline deve chiamare le attività nell'ordine seguente.
- Inizializzare CodeQL
- AutoBuild (o le attività di compilazione personalizzate)
- Eseguire l'analisi codeQL
L'attività AutoBuild è facoltativa e può essere sostituita con le attività di compilazione personalizzate. Per analizzare il progetto, è necessario eseguire AutoBuild o le attività di compilazione personalizzate.
Fabbisogno
Requisito | Descrizione |
---|---|
Tipi di pipeline | YAML, build classica, versione classica |
Viene eseguito in | Agente, DeploymentGroup |
richieste | Nessuno |
funzionalità di | Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
restrizioni dei comandi | Qualunque |
variabili impostabili | Qualunque |
Versione dell'agente | Tutte le versioni dell'agente supportate. |
Categoria attività | Costruire |