빌드를 준비하기 위해 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.
분석할 프로그래밍 언어입니다. 여러 언어를 쉼표로 구분할 수 있습니다.
- 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
여기서 작업에서 언어를 설정하거나 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파이프라인 변수에서 지정할 수 있습니다. 둘 다 설정되면 태스크에 지정된 값이 우선합니다. 기본값은 Select a query suite... 변수에 쿼리 도구 모음을 지정해야 임을 나타내는 advancedsecurity.codeql.querysuite.
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: donotscan대신 codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan 설정합니다.
중요하다
codeqlpathstoignore 설정은 해석된 언어(Python, Ruby 및 JavaScript/TypeScript)에서 CodeQL 작업을 실행하거나 코드를 빌드하지 않고 컴파일된 언어를 분석하는 경우에만 적용됩니다(현재 C# 및 Java에서 지원됨).
codeqlpathstoinclude
-
CodeQL 분석 포함할 추가 경로 목록을 설정합니다.
string;
쉼표로 구분된 여러 경로를 제공할 수 있습니다. 경로는 CodeQL이 실행되는 sourcesfolder 상대적이어야 하며, 기본값은 Build.SourcesDirectory 파이프라인 환경 변수입니다. 예를 들어 $(Build.SourcesDirectory)/app 디렉터리를 포함하려면 codeqlpathstoinclude: app대신 codeqlpathstoinclude: $(Build.SourcesDirectory)/app 설정합니다.
중요하다
codeqlpathstoinclude 설정은 해석된 언어(Python, Ruby 및 JavaScript/TypeScript)에서 CodeQL 작업을 실행하거나 코드를 빌드하지 않고 컴파일된 언어를 분석하는 경우에만 적용됩니다(현재 C# 및 Java에서 지원됨).
sourcesfolder
-
분석할 원본이 포함된 폴더를
string;
값은 변수에 상대적 Build.SourcesDirectory 이어야 합니다. 이 값을 제공하지 않으면 파이프라인 인프라의 기본 원본 폴더가 사용됩니다(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 리포지토리에서만 지원됩니다.
파이프라인은 다음 순서로 작업을 호출해야 합니다.
- CodeQL 초기화
- AutoBuild(또는 사용자 지정 빌드 작업)
- CodeQL 분석 수행
자동 빌드 작업은 선택 사항이며 사용자 지정 빌드 작업으로 대체될 수 있습니다. 프로젝트를 분석하려면 AutoBuild 또는 사용자 지정 빌드 작업을 실행해야 합니다.
요구 사항
| 요구 | 묘사 |
|---|---|
| 파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
| 다음에서 실행 | 에이전트, DeploymentGroup |
| 요구 | 없음 |
| 기능 | 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다. |
| 명령 제한 | 어떤 |
| settable 변수 | 어떤 |
| 에이전트 버전 | 지원되는 모든 에이전트 버전입니다. |
| 작업 범주 | 체격 |
참고 항목
- GitHub Advanced Security 대한 코드 검사