Skip to main content

CodeQL 구성 파일에서 명령 옵션 지정하기

CodeQL 구성 파일에 기본 명령 옵션을 저장할 수 있습니다.

누가 이 기능을 사용할 수 있는 있나요?

GitHub CodeQL은(는) 설치 시 사용자별로 라이선스가 부여됩니다. 라이선스 제한에 따라 특정 작업에만 CodeQL을(를) 사용할 수 있습니다. 자세한 내용은 "CodeQL CLI 알아보기"을(를) 참조하세요.

GitHub Advanced Security 라이선스가 있는 경우 CodeQL을(를) 사용하여 분석 자동화, 연속 통합 및 지속적인 업데이트를 할 수 있습니다. 자세한 내용은 "GitHub Advanced Security 정보.

CodeQL 구성 파일에서 명령 옵션 지정 알아보기

사용자별 구성 파일에 명령에 대한 기본 또는 자주 사용되는 옵션을 저장할 수 있습니다.

다음 두 가지 방법으로 CodeQL CLI 명령 옵션을 지정할 수 있습니다.

  • 적절한 플래그를 사용하여 명령줄에서 직접 지정.
  • CodeQL이(가) 명령이 실행될 때마다 관련 옵션을 스캔하는 구성(또는 config) 파일에서 지정.

명령을 실행할 때마다 변경되는 옵션의 경우, 명령줄에서 값을 지정하는 것이 CodeQL에 정보를 전달하는 가장 편리한 방법입니다. config 파일에 옵션을 저장하는 것은 자주 사용하는 옵션을 지정하는 좋은 방법입니다. 또한 정기적으로 사용하는 사용자 지정 CodeQL 팩을 검색 경로에 추가하는 좋은 방법입니다.

CodeQL 구성 파일 사용하기

.config/codeql/ 하위 디렉터리의 홈(Linux 및 macOS) 또는 사용자 프로필(Windows) 디렉터리 아래에 config 파일을 저장해야 합니다. 예들 들어 $HOME/.config/codeql/config입니다.

옵션을 지정하는 구문은 다음과 같습니다.

<command> <subcommand> <option> <value>

둘 이상의 명령에 동일한 옵션을 적용하려면 다음을 수행할 수 있습니다.

  • 관련 있는 모든 <subcommand>에 대한 옵션을 지정하는 <subcommand>을(를) 생략합니다.
  • <command><subcommand> 둘 다 생략하고, 모든 <command><subcommand> 옵션과 관련된 옵션을 전체적으로 지정합니다.

참고:

  • config 파일은 옵션 플래그와 값 사이의 공백만 허용합니다. CodeQL은(는) 옵션 값을 지정하는 데 =을(를) 사용하는 경우 오류가 발생합니다.
  • 명령줄에서 옵션을 지정하면 해당 옵션에 대해 정의된 config 값이 재정의됩니다.
  • <command>, <subcommand>에 대해 또는 전역적으로 둘 이상의 옵션을 지정하려면 옵션당 한 줄을 사용합니다.

예제

  • CSV 형식으로 codeql database analyze에 의해 생성된 모든 분석 결과를 출력하려면 다음을 지정합니다.

    database analyze --format csv
    

    여기서는 database analyze에 동일한 --format 옵션이 전달되는 동안 실행되는 하위 수준 명령을 방지하기 위해 명령 및 하위 명령을 지정해야 합니다.

  • CodeQL 명령을 실행할 때 사용할 RAM(4096MB) 및 스레드 수(4)를 정의하려면 별도의 줄에서 다음을 지정합니다.

    --ram 4096
    --threads 4
    
  • CodeQL에 대한 디렉터리를 전역적으로 지정하여 CodeQL 팩(설치 디렉터리의 형제가 아님)을 스캔하려면 다음을 사용합니다.

    --search-path <path-to-directory>