Skip to main content

이 버전의 GitHub Enterprise Server는 다음 날짜에 중단됩니다. 2026-03-17. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 더 뛰어난 성능, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise Server로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

컴파일된 언어에 대한 CodeQL 코드 검사 정보

CodeQL가 컴파일된 언어, 사용 가능한 빌드 옵션을 어떻게 분석하는지 이해하고, 필요한 경우 사용자가 데이터베이스 생성 프로세스를 지정하는 방법을 알아봅니다.

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

쓰기 권한이 있는 사용자 if advanced setup is already enabled

Code scanning은 다음 리포지토리 유형에서 사용할 수 있습니다.

  • GitHub.com에 대한 퍼블릭 리포지토리
  • GitHub Team, GitHub Enterprise Cloud 또는 GitHub Enterprise Server에 대한 조직 소유의 리포지토리로, GitHub Advanced Security 가 활성화되어 있습니다.

CodeQL 분석 워크플로 및 컴파일된 언어에 대한 정보

Code scanning은 하나 이상의 CodeQL 데이터베이스에 쿼리를 실행하여 작동합니다. 각 데이터베이스에는 사용자의 리포지토리에 있는 단일 언어로 된 코드 표현이 포함되어 있습니다. 컴파일된 언어 C/C++, C#, Go, Java, Kotlin, Rust(공개 미리 보기), 및 Swift의 경우, 이 데이터베이스를 채우는 프로세스는 코드 빌드 및 데이터 추출을 수반하곤 합니다.

code scanning를 활성화하면 기본 설정과 고급 설정이 가장 간단한 방법을 사용하여 분석을 위한 CodeQL 데이터베이스를 생성합니다. Java의 경우 빌드(none 빌드 모드)를 요구하지 않고 코드베이스에서 CodeQL 데이터베이스가 직접 생성됩니다. 다른 컴파일된 언어의 경우 CodeQL는 autobuild 빌드 모드를 사용하여 코드베이스를 빌드합니다. 아니면 manual 빌드 모드를 사용하여 빌드 명령을 명시적으로 지정하여 이러한 사용자 지정 명령으로 빌드된 파일만을 분석할 수도 있습니다.

CodeQL 빌드 모드

CodeQL 작업은 컴파일된 언어에 세 가지 빌드 모드를 지원합니다.

  •         `none` - CodeQL 데이터베이스는 코드베이스를 구축하지 않고 코드베이스에서 직접 생성됩니다(모든 해석된 언어에 지원되며  Java에 추가로 지원됨).
    
  •         `autobuild` - CodeQL은(는) 가장 가능성이 큰 빌드 방법을 탐지하고 이를 사용하여 코드베이스를 빌드하고 분석할 데이터베이스를 만듭니다(C/C++, C#, Go, Java, Kotlin 및 Swift에서 지원됨).
    
  •         `manual` - 워크플로의 코드베이스에 사용할 빌드 단계를 정의합니다(C/C++, C#, Go, Java, Kotlin 및 Swift에 지원됨).
    

언어별 autobuild 동작, 실행기 요구 사항 및 수동 빌드에 대한 지침은 컴파일된 언어에 대한 CodeQL 빌드 옵션 및 단계을 참조하세요.