Delen via


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

Initialiseert de CodeQL-database ter voorbereiding op het bouwen.

U moet GitHub Advanced Security voor Azure DevOps ingeschakeld voor de opslagplaats die wordt gescand.

Syntaxis

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

Ingangen

enableAutomaticCodeQLInstall - Automatische CodeQL-detectie en -installatie inschakelen
boolean. Standaardwaarde: false.

Als u deze optie selecteert, wordt de taak ingesteld om automatisch te controleren op CodeQL op de agent. Als CodeQL niet juist is geconfigureerd of in de nieuwste versie, wordt de meest recente versie automatisch geïnstalleerd.


languages - talen voor het analyseren van
string. Toegestane waarden: csharp, cpp, go, java, javascript, python, ruby, swift.

De programmeertaal die moet worden geanalyseerd. Meerdere talen kunnen worden gescheiden door een komma.

U kunt de taal hier instellen in de taak of u kunt de taal opgeven in een pijplijnvariabele met de naam advancedsecurity.codeql.language. Als beide zijn ingesteld, heeft de waarde die is opgegeven in de taak voorrang.


querysuite - CodeQL Query Suite voor analyse.
string. Toegestane waarden: Select a query suite..., code-scanning, security-extended, security-experimental, security-and-quality. Standaardwaarde: Select a query suite....

De querysuite, d.w.w.v. regelset, die wordt gebruikt voor analyse. U kunt hier de waarde in de taak opgeven of u kunt deze opgeven in een pijplijnvariabele met de naam advancedsecurity.codeql.querysuite. Als beide zijn ingesteld, heeft de waarde die is opgegeven in de taak voorrang. De standaardwaarde is Select a query suite... die aangeeft dat de querysuite moet worden opgegeven in de advancedsecurity.codeql.querysuite variabele.


buildtype - buildmodus (handmatig versus geen) selecteren
string. Toegestane waarden: Manual, None. Standaardwaarde: Manual.

Geef Manual op als u het project handmatig wilt bouwen voordat u de CodeQL-analyse uitvoert. Geef None op als u de CodeQL-analyse wilt uitvoeren zonder het project te bouwen.

Zie CodeQL-codescan voor gecompileerde talenvoor meer informatie over de verschillende buildmodi, waaronder een vergelijking van de voordelen van elke buildmodus. Als u autobuildwilt gebruiken, voegt u de AdvancedSecurity-CodeQL-Autobuild@1-taak toe aan uw pijplijn. Zie Code scanmodus aanpassenvoor meer informatie.


ram - Opties voor het beheren van het RAM-gebruik in MB
string.

Stel de totale hoeveelheid RAM in die de query-evaluator mag gebruiken.

U kunt hier ram opgeven in de taak of u kunt deze opgeven in een pijplijnvariabele met de naam advancedsecurity.codeql.ram. Als beide zijn ingesteld, heeft de waarde die is opgegeven in de taak voorrang.


threads - Gebruik dit aantal threads om query's te evalueren
string.

U kunt 0 doorgeven om één thread per kern op de machine te gebruiken of -N om N-kernen ongebruikt te laten (behalve dat er nog steeds ten minste één thread wordt gebruikt).

U kunt hier threads opgeven in de taak of u kunt deze opgeven in een pijplijnvariabele met de naam advancedsecurity.codeql.threads. Als beide zijn ingesteld, heeft de waarde die is opgegeven in de taak voorrang.


codeqlpathstoignore - een lijst met paden instellen die moeten worden uitgesloten in de CodeQL-analyse
string.

U kunt meerdere paden opgeven, gescheiden door komma's. De paden moeten relatief zijn ten opzichte van de sourcesfolder waar CodeQL wordt uitgevoerd. Deze is standaard ingesteld op de omgevingsvariabele Build.SourcesDirectory pijplijn. Als u bijvoorbeeld de map $(Build.SourcesDirectory)/donotscan wilt negeren, stelt u codeqlpathstoignore: donotscan in in plaats van codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan.

Belangrijk

De codeqlpathstoignore-instelling is alleen van toepassing wanneer u de CodeQL-taken uitvoert op een geïnterpreteerde taal (Python, Ruby en JavaScript/TypeScript) of wanneer u een gecompileerde taal analyseert zonder de code te bouwen (momenteel ondersteund voor C# en Java).


codeqlpathstoinclude - een lijst met extra paden instellen die moeten worden opgenomen in de CodeQL-analyse
string.

U kunt meerdere paden opgeven, gescheiden door komma's. De paden moeten relatief zijn ten opzichte van de sourcesfolder waar CodeQL wordt uitgevoerd. Deze is standaard ingesteld op de omgevingsvariabele Build.SourcesDirectory pijplijn. Als u bijvoorbeeld de map $(Build.SourcesDirectory)/app wilt opnemen, stelt u codeqlpathstoinclude: app in in plaats van codeqlpathstoinclude: $(Build.SourcesDirectory)/app.

Belangrijk

De codeqlpathstoinclude-instelling is alleen van toepassing wanneer u de CodeQL-taken uitvoert op een geïnterpreteerde taal (Python, Ruby en JavaScript/TypeScript) of wanneer u een gecompileerde taal analyseert zonder de code te bouwen (momenteel ondersteund voor C# en Java).


sourcesfolder - Stelt de map in die de bronnen bevat die moeten worden geanalyseerd
string.

Als u deze waarde niet opgeeft, wordt de standaardmap bronnen voor de pijplijninfrastructuur gebruikt (geleverd door de Build.SourcesDirectory variabele).


loglevel - het logboekniveau voor de CodeQL-analyse instellen
string. Toegestane waarden: 0 (waarschuwing), 1 (uitgebreid), 2 (foutopsporing), _ (standaard (waarschuwing)). Standaardwaarde: _.

Geef het niveau van logboekregistratie op.

U kunt hier loglevel opgeven in de taak of u kunt deze opgeven in een pijplijnvariabele met de naam advancedsecurity.codeql.loglevel. Als beide zijn ingesteld, heeft de waarde die is opgegeven in de taak voorrang, tenzij de standaardwaarde _ voor loglevel in de taak is opgegeven. Als _ is opgegeven, wordt de waarde van advancedsecurity.codeql.loglevel gebruikt, indien beschikbaar.


configfilepath - Gebruik dit om aangepaste queryanalyse in te schakelen in codeql (pad moet absoluut zijn).
string.

Als er geen pad is opgegeven, gaat codeql-analyse verder met standaardquery's.


codeqltoolsdirectory - een aangepaste map met Hulpprogramma's voor CodeQL instellen (pad moet absoluut zijn)
string.

Als het pad niet is opgegeven, wordt de standaardwaarde van $agent_toolsdirectory gebruikt.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

U moet GitHub Advanced Security voor Azure DevOps ingeschakeld voor de opslagplaats die wordt gescand.

Belangrijk

Deze taak wordt alleen ondersteund met Git-opslagplaatsen voor Azure-opslagplaatsen.

De pijplijn moet de taken in de volgende volgorde aanroepen.

  1. CodeQL initialiseren
  2. AutoBuild (of uw aangepaste buildtaken)
  3. CodeQL-analyse uitvoeren

De AutoBuild-taak is optioneel en kan worden vervangen door uw aangepaste buildtaken. AutoBuild of uw aangepaste buildtaken moeten worden uitgevoerd om uw project te kunnen analyseren.

Eisen

Eis Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
eisen Geen
mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Enig
variabelen instellen Enig
Agentversie Alle ondersteunde agentversies.
Taakcategorie Bouwen

Zie ook