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 리포지토리에서만 지원됩니다.
파이프라인은 다음 순서로 작업을 호출해야 합니다.
- CodeQL 초기화
- AutoBuild(또는 사용자 지정 빌드 작업)
- CodeQL 분석 수행
자동 빌드 작업은 선택 사항이며 사용자 지정 빌드 작업으로 대체될 수 있습니다. 프로젝트를 분석하려면 AutoBuild 또는 사용자 지정 빌드 작업을 실행해야 합니다.
요구 사항
요구 | 묘사 |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
다음에서 실행 | 에이전트, DeploymentGroup |
요구 | 없음 |
기능 | 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다. |
명령 제한 | 어떤 |
settable 변수 | 어떤 |
에이전트 버전 | 지원되는 모든 에이전트 버전입니다. |
작업 범주 | 체격 |
참고 항목
- GitHub Advanced Security 대한 코드 검사