다음을 통해 공유


AdvancedSecurity-Codeql-Init@1 - Advanced Security CodeQL v1 작업 초기화

빌드를 준비하기 위해 CodeQL 데이터베이스를 초기화합니다.

검사 중인 리포지토리에 대해 Azure DevOps 대한 GitHub Advanced Security를 사용하도록 설정해야 합니다.

통사론

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

입력

enableAutomaticCodeQLInstall - 자동 CodeQL 검색 및 설치 사용하도록 설정
boolean. 기본값: false.

이 옵션을 선택하면 에이전트에서 CodeQL을 자동으로 확인하는 작업이 설정됩니다. CodeQL이 올바르게 구성되지 않았거나 최신 버전인 경우 작업은 자동으로 최신 버전을 설치합니다.


분석할 언어 languages -
string. 허용되는 값: csharp, cpp, go, java, javascript, python, ruby, swift.

분석할 프로그래밍 언어입니다. 여러 언어를 쉼표로 구분할 수 있습니다.

여기서 작업에서 언어를 설정하거나 advancedsecurity.codeql.language파이프라인 변수에서 언어를 지정할 수 있습니다. 둘 다 설정되면 태스크에 지정된 값이 우선합니다.


분석에 사용할 CodeQL Query Suite를 querysuite - .
string. 허용되는 값: Select a query suite..., code-scanning, security-extended, security-experimental, security-and-quality. 기본값: Select a query suite....

분석에 사용되는 쿼리 도구 모음(예: 규칙 집합)입니다. 작업에서 값을 지정하거나 advancedsecurity.codeql.querysuite파이프라인 변수에서 지정할 수 있습니다. 둘 다 설정되면 태스크에 지정된 값이 우선합니다. 기본값은 advancedsecurity.codeql.querysuite 변수에 쿼리 도구 모음을 지정해야 임을 나타내는 Select a query suite....


buildtype - 빌드 모드 선택(수동 및 없음)
string. 허용되는 값: Manual, None. 기본값: Manual.

CodeQL 분석을 실행하기 전에 프로젝트를 수동으로 빌드하려는 경우 Manual 지정합니다. 프로젝트를 빌드하지 않고 CodeQL 분석을 실행하려면 None 지정합니다.

각 빌드 모드의 이점에 대한 비교를 포함하여 다양한 빌드 모드에 대한 자세한 내용은 컴파일된 언어 대한CodeQL 코드 검색을 참조하세요. autobuild사용하려면 AdvancedSecurity-CodeQL-Autobuild@1 작업을 파이프라인에 추가합니다. 자세한 내용은 코드 검색 빌드 모드 사용자 지정참조하세요.


ram - MB RAM 사용량을 제어하는 옵션
string.

쿼리 평가자가 사용할 수 있는 총 RAM 양을 설정합니다.

작업에서 여기에서 ram 지정하거나 advancedsecurity.codeql.ram파이프라인 변수에 지정할 수 있습니다. 둘 다 설정되면 태스크에 지정된 값이 우선합니다.


threads - 이 많은 스레드를 사용하여 쿼리 평가
string.

0을 전달하여 컴퓨터의 코어당 하나의 스레드를 사용하거나 N 코어를 사용하지 않은 상태로 두는 -N 수 있습니다(하나 이상의 스레드를 계속 사용).

작업에서 여기에서 threads 지정하거나 advancedsecurity.codeql.threads파이프라인 변수에 지정할 수 있습니다. 둘 다 설정되면 태스크에 지정된 값이 우선합니다.


codeqlpathstoignore - CodeQL 분석 제외할 경로 목록을 설정합니다.
string.

쉼표로 구분된 여러 경로를 제공할 수 있습니다. 경로는 CodeQL이 실행되는 sourcesfolder 상대적이어야 하며, 기본값은 Build.SourcesDirectory 파이프라인 환경 변수입니다. 예를 들어 $(Build.SourcesDirectory)/donotscan 디렉터리를 무시하려면 codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan대신 codeqlpathstoignore: donotscan 설정합니다.

중요하다

codeqlpathstoignore 설정은 해석된 언어(Python, Ruby 및 JavaScript/TypeScript)에서 CodeQL 작업을 실행하거나 코드를 빌드하지 않고 컴파일된 언어를 분석하는 경우에만 적용됩니다(현재 C# 및 Java에서 지원됨).


codeqlpathstoinclude - CodeQL 분석 포함할 추가 경로 목록을 설정합니다.
string.

쉼표로 구분된 여러 경로를 제공할 수 있습니다. 경로는 CodeQL이 실행되는 sourcesfolder 상대적이어야 하며, 기본값은 Build.SourcesDirectory 파이프라인 환경 변수입니다. 예를 들어 $(Build.SourcesDirectory)/app 디렉터리를 포함하려면 codeqlpathstoinclude: $(Build.SourcesDirectory)/app대신 codeqlpathstoinclude: app 설정합니다.

중요하다

codeqlpathstoinclude 설정은 해석된 언어(Python, Ruby 및 JavaScript/TypeScript)에서 CodeQL 작업을 실행하거나 코드를 빌드하지 않고 컴파일된 언어를 분석하는 경우에만 적용됩니다(현재 C# 및 Java에서 지원됨).


sourcesfolder - 분석할 원본이 포함된 폴더를
string.

이 값을 제공하지 않으면 파이프라인 인프라의 기본 원본 폴더가 사용됩니다(Build.SourcesDirectory 변수에서 제공).


loglevel - CodeQL 분석 로그 수준 설정
string. 허용되는 값: 0(경고), 1(자세한 정보 표시), 2(디버그), _(기본값(경고)) 기본값: _.

로깅 수준을 지정합니다.

작업에서 여기에서 loglevel 지정하거나 advancedsecurity.codeql.loglevel파이프라인 변수에 지정할 수 있습니다. 둘 다 설정되면 작업에서 loglevel 대한 기본값 _ 지정하지 않는 한 태스크에 지정된 값이 우선적으로 적용됩니다. _ 지정하면 advancedsecurity.codeql.loglevel 값이 사용됩니다(사용 가능한 경우).


configfilepath - codeql에서 사용자 지정 쿼리 분석을 사용하도록 설정하려면 이 방법을 사용합니다(경로는 절대 경로여야 합니다).
string.

경로가 제공되지 않으면 codeql 분석은 기본 쿼리를 진행합니다.


codeqltoolsdirectory - 사용자 지정 CodeQL 도구 디렉터리 설정(경로는 절대이어야 합니다)
string.

경로가 제공되지 않으면 $agent_toolsdirectory 기본값이 사용됩니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에도 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.

출력 변수

없음.

발언

검사 중인 리포지토리에 대해 Azure DevOps 대한 GitHub Advanced Security를 사용하도록 설정해야 합니다.

중요하다

이 작업은 Azure Repos Git 리포지토리에서만 지원됩니다.

파이프라인은 다음 순서로 작업을 호출해야 합니다.

  1. CodeQL 초기화
  2. AutoBuild(또는 사용자 지정 빌드 작업)
  3. CodeQL 분석 수행

자동 빌드 작업은 선택 사항이며 사용자 지정 빌드 작업으로 대체될 수 있습니다. 프로젝트를 분석하려면 AutoBuild 또는 사용자 지정 빌드 작업을 실행해야 합니다.

요구 사항

요구 묘사
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
다음에서 실행 에이전트, DeploymentGroup
요구 없음
기능 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다.
명령 제한 어떤
settable 변수 어떤
에이전트 버전 지원되는 모든 에이전트 버전입니다.
작업 범주 체격

참고 항목

  • GitHub Advanced Security 대한 코드 검사