Udostępnij za pośrednictwem


AdvancedSecurity-Codeql-Init@1 — zaawansowane zabezpieczenia inicjowania koduQL w wersji 1

Inicjuje bazę danych CodeQL w ramach przygotowań do utworzenia.

Musisz mieć włączoną GitHub Advanced Security dla usługi Azure DevOps dla skanowanego repozytorium.

Składnia

# Advanced Security Initialize CodeQL v1
# Initializes the CodeQL database in preparation for building.
- task: AdvancedSecurity-Codeql-Init@1
  inputs:
    #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....
  # 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).

Dane wejściowe

languages - Języki do analizowania
string. Dozwolone wartości: csharp, , gocpp, javajavascriptpython, ruby, . swift

Język programowania do przeanalizowania. Wiele języków można rozdzielić przecinkami.

Język można ustawić tutaj w zadaniu lub określić język w zmiennej potoku o nazwie advancedsecurity.codeql.language. Jeśli oba są ustawione, wartość określona w zadaniu ma pierwszeństwo.


querysuite - CodeQL Query Suite do użycia na potrzeby analizy.
string. Dozwolone wartości: Select a query suite..., , security-extendedcode-scanning, security-experimental, security-and-quality. Wartość domyślna: Select a query suite....

Zestaw zapytań, tj. zestaw reguł używany do analizy. Możesz określić wartość w tym zadaniu lub określić ją w zmiennej potoku o nazwie advancedsecurity.codeql.querysuite. Jeśli oba są ustawione, wartość określona w zadaniu ma pierwszeństwo. Wartość domyślna wskazuje Select a query suite... , że pakiet zapytań musi być określony w zmiennej advancedsecurity.codeql.querysuite .


ram - Opcje kontrolowania użycia pamięci RAM w MB
string.

Ustaw całkowitą ilość pamięci RAM, która powinna być używana przez ewaluatora zapytań.

ram Możesz określić tutaj w zadaniu lub określić go w zmiennej potoku o nazwie advancedsecurity.codeql.ram. Jeśli oba są ustawione, wartość określona w zadaniu ma pierwszeństwo.


threads - Użyj tych wielu wątków do oceny zapytań
string.

Możesz przekazać 0, aby użyć jednego wątku na rdzeń na maszynie lub -N, aby pozostawić nieużywane rdzenie N (z wyjątkiem nadal używać co najmniej jednego wątku).

threads Możesz określić tutaj w zadaniu lub określić go w zmiennej potoku o nazwie advancedsecurity.codeql.threads. Jeśli oba są ustawione, wartość określona w zadaniu ma pierwszeństwo.


codeqlpathstoignore - Ustawianie listy ścieżek do wykluczenia w analizie CodeQL
string.

Można podać wiele ścieżek rozdzielonych przecinkami. Ścieżki muszą być względne względem lokalizacji, w sourcesfolder której jest uruchomiony kodQL, który jest domyślnie domyślny dla zmiennej środowiskowej potoku Build.SourcesDirectory . Aby na przykład zignorować $(Build.SourcesDirectory)/donotscan katalog, ustaw codeqlpathstoignore: donotscan wartość zamiast codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan.


codeqlpathstoinclude - Ustawianie listy dodatkowych ścieżek do uwzględnienia w analizie CodeQL
string.

Można podać wiele ścieżek rozdzielonych przecinkami. Ścieżki muszą być względne względem lokalizacji, w sourcesfolder której jest uruchomiony kodQL, który jest domyślnie domyślny dla zmiennej środowiskowej potoku Build.SourcesDirectory . Na przykład aby uwzględnić $(Build.SourcesDirectory)/app katalog, ustaw codeqlpathstoinclude: app wartość zamiast codeqlpathstoinclude: $(Build.SourcesDirectory)/app.


sourcesfolder - Ustawia folder zawierający źródła do przeanalizowania
string.

Jeśli ta wartość nie zostanie podana, zostanie użyty domyślny folder źródeł infrastruktury potoku (dostarczony przez zmienną Build.SourcesDirectory ).


loglevel - Ustawianie poziomu dziennika dla analizy CodeQL
string. Dozwolone wartości: 0 (Ostrzeżenie), (Pełne), 12 (Debugowanie), _ (Domyślne (Ostrzeżenie)). Wartość domyślna: _.

Określ poziom rejestrowania.

loglevel Możesz określić tutaj w zadaniu lub określić go w zmiennej potoku o nazwie advancedsecurity.codeql.loglevel. Jeśli oba są ustawione, wartość określona w zadaniu ma pierwszeństwo, chyba że zostanie określona wartość _loglevel domyślna dla zadania. Jeśli _ zostanie określona, wartość z advancedsecurity.codeql.loglevel jest używana, jeśli jest dostępna.


configfilepath - Użyj tej opcji, aby włączyć niestandardową analizę zapytań w kodzieql (ścieżka musi być bezwzględna).
string.

Jeśli ścieżka nie zostanie podana, analiza codeql będzie kontynuowana z zapytaniami domyślnymi.


codeqltoolsdirectory - Ustawianie niestandardowego katalogu narzędzi CodeQL (ścieżka musi być bezwzględna)
string.

Jeśli ścieżka nie zostanie podana, zostanie użyta wartość domyślna $agent_toolsdirectory .


Opcje sterowania zadania

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.

Zmienne wyjściowe

Brak.

Uwagi

Musisz mieć włączoną GitHub Advanced Security dla usługi Azure DevOps dla skanowanego repozytorium.

Ważne

To zadanie jest obsługiwane tylko w przypadku repozytoriów git Azure Repos.

Potok musi wywoływać zadania w następującej kolejności.

  1. Inicjowanie koduQL
  2. AutoBuild (lub niestandardowe zadania kompilacji)
  3. Wykonywanie analizy koduQL

Zadanie autobuild jest opcjonalne i może zostać zastąpione niestandardowymi zadaniami kompilacji. Aby projekt był analizowany, należy uruchomić zadania autobuild lub niestandardowe zadania kompilacji.

Wymagania

Wymaganie Opis
Typy potoków YAML, kompilacja klasyczna, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta Wszystkie obsługiwane wersje agentów.
Kategoria zadania Kompilacja

Zobacz też