Sdílet prostřednictvím


AdvancedSecurity-Codeql-Init@1 - Advanced Security Initialize CodeQL v1 task

Inicializuje databázi CodeQL při přípravě na sestavení.

Musíte mít GitHub Advanced Security pro Azure DevOps povolené pro prohledávané úložiště.

Syntax

# 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).

Vstupy

enableAutomaticCodeQLInstall - Povolení automatického zjišťování a instalace CodeQL
boolean. Výchozí hodnota: false.

Výběrem této možnosti nastavíte úlohu tak, aby automaticky kontroluje KódQL v agentu. Pokud codeQL není správně nakonfigurovaný nebo nejnovější verze, úloha automaticky nainstaluje nejnovější verzi.


languages - Jazyky k analýze
string. Povolené hodnoty: csharp, cpp, go, java, javascript, python, ruby, swift.

Programovací jazyk, který se má analyzovat. Více jazyků je možné oddělit čárkou.

Jazyk můžete nastavit zde v úloze nebo můžete určit jazyk v proměnné kanálu s názvem advancedsecurity.codeql.language. Pokud jsou obě nastaveny, má přednost hodnota zadaná v úkolu.


querysuite - Sadu dotazů CodeQL, která se má použít k analýze.
string. Povolené hodnoty: Select a query suite..., code-scanning, security-extended, security-experimental, security-and-quality. Výchozí hodnota: Select a query suite....

Sada dotazů, tj. sada pravidel, která se používá k analýze. V úloze můžete zadat hodnotu, nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.querysuite. Pokud jsou obě nastaveny, má přednost hodnota zadaná v úkolu. Výchozí hodnota je Select a query suite..., která indikuje, že sada dotazů musí být zadána v proměnné advancedsecurity.codeql.querysuite.


buildtype - Vyberte režim sestavení (ruční nebo žádný)
string. Povolené hodnoty: Manual, None. Výchozí hodnota: Manual.

Před spuštěním analýzy CodeQL zadejte Manual, pokud chcete projekt sestavit ručně. Zadejte None, pokud chcete spustit analýzu CodeQL bez sestavení projektu.

Další informace o různých režimech sestavení, včetně porovnání výhod jednotlivých režimů sestavení, naleznete v tématu CodeQL skenování kódu pro kompilované jazyky. Pokud chcete použít autobuild, přidejte do kanálu úlohu AdvancedSecurity-CodeQL-Autobuild@1. Další informace najdete v tématu Přizpůsobení režimu sestavení kontroly kódu.


ram - Možnosti řízení využití paměti RAM v MB
string.

Nastavte celkovou velikost paměti RAM, kterou má vyhodnocovací modul dotazů používat.

V úloze můžete zadat ram nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.ram. Pokud jsou obě nastaveny, má přednost hodnota zadaná v úkolu.


threads - Použít tento počet vláken k vyhodnocení dotazů
string.

Pokud chcete na počítači použít jedno vlákno na jádro, můžete předat 0 nebo -N ponechat nevyužitá jádra N (kromě toho, že stále používáte alespoň jedno vlákno).

V úloze můžete zadat threads nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.threads. Pokud jsou obě nastaveny, má přednost hodnota zadaná v úkolu.


codeqlpathstoignore - Nastavení seznamu cest, které se mají vyloučit v analýzy CodeQL
string.

Můžete zadat více cest oddělených čárkami. Cesty musí být relativní vzhledem k sourcesfolder, kde je spuštěný CodeQL, což je výchozí hodnota proměnné prostředí Build.SourcesDirectory kanálu. Pokud chcete například ignorovat adresář $(Build.SourcesDirectory)/donotscan, nastavte codeqlpathstoignore: donotscan místo codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan.

Důležitý

Nastavení codeqlpathstoignore platí jenom v případě, že spouštíte úlohy CodeQL v interpretovaném jazyce (Python, Ruby a JavaScript/TypeScript) nebo při analýze kompilovaného jazyka bez sestavení kódu (aktuálně podporovaného pro C# a Javu).


codeqlpathstoinclude - Nastavení seznamu dalších cest, které chcete zahrnout do analýzy CodeQL
string.

Můžete zadat více cest oddělených čárkami. Cesty musí být relativní vzhledem k sourcesfolder, kde je spuštěný CodeQL, což je výchozí hodnota proměnné prostředí Build.SourcesDirectory kanálu. Pokud chcete například zahrnout adresář $(Build.SourcesDirectory)/app, nastavte codeqlpathstoinclude: app místo codeqlpathstoinclude: $(Build.SourcesDirectory)/app.

Důležitý

Nastavení codeqlpathstoinclude platí jenom v případě, že spouštíte úlohy CodeQL v interpretovaném jazyce (Python, Ruby a JavaScript/TypeScript) nebo při analýze kompilovaného jazyka bez sestavení kódu (aktuálně podporovaného pro C# a Javu).


sourcesfolder - Nastaví složku obsahující zdroje, které se mají analyzovat
string.

Pokud tuto hodnotu nezadáte, použije se výchozí složka zdrojů pro infrastrukturu kanálu (kterou poskytuje proměnná Build.SourcesDirectory).


loglevel - Nastavení úrovně protokolu pro analýzy CodeQL
string. Povolené hodnoty: 0 (upozornění), 1 (podrobné), 2 (ladění), _ (výchozí (upozornění)). Výchozí hodnota: _.

Zadejte úroveň protokolování.

V úloze můžete zadat loglevel nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.loglevel. Pokud jsou obě nastaveny, má hodnota zadaná v úkolu přednost, pokud není zadána výchozí hodnota _ pro loglevel v úkolu. Pokud je zadán _, použije se hodnota z advancedsecurity.codeql.loglevel, pokud je k dispozici.


configfilepath - Tuto možnost použijte k povolení vlastní analýzy dotazů v kódu codeql (cesta musí být absolutní).
string.

Pokud cesta není k dispozici, analýza kódu bude pokračovat s výchozími dotazy.


codeqltoolsdirectory - Nastavení vlastního adresáře nástrojů CodeQL (cesta musí být absolutní)
string.

Pokud cesta není zadaná, použije se výchozí hodnota $agent_toolsdirectory.


Možnosti řízení úkolů

Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.

Výstupní proměnné

Žádný.

Poznámky

Musíte mít GitHub Advanced Security pro Azure DevOps povolené pro prohledávané úložiště.

Důležitý

Tato úloha se podporuje jenom v úložištích Git Azure Repos.

Kanál musí volat úlohy v následujícím pořadí.

  1. Inicializace codeQL
  2. AutoBuild (nebo vlastní úlohy sestavení)
  3. Provedení analýzy CodeQL

Úloha AutoBuild je nepovinná a může být nahrazena vlastními úlohami sestavení. Aby se projekt analyzoval, musí být spuštěné úlohy automatického sestavení nebo vlastní úlohy sestavení.

Požadavky

Požadavek Popis
Typy kanálů YAML, klasické sestavení, klasická verze
Běží na Agent, DeploymentGroup
požadavky Žádný
možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
omezení příkazů Jakýkoliv
nastavitelné proměnné Jakýkoliv
Verze agenta Všechny podporované verze agenta.
Kategorie úkolu Vybudovat

Viz také