Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ě.
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).
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.
- 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
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.
Hodnota musí být relativní k Build.SourcesDirectory proměnné. 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í.
- Inicializace codeQL
- AutoBuild (nebo vlastní úlohy sestavení)
- 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, skupina nasazení |
| 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 |