Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.
GitHub AE는 현재 제한된 릴리스에 있습니다.

컨테이너에서 CodeQL 코드 검사 실행

모든 프로세스가 동일한 컨테이너에서 실행되도록 하여 컨테이너에서 code scanning를 실행할 수 있습니다.

는 GitHub AE의 조직 소유 리포지토리에서 사용할 수 있습니다. 이것은 GitHub Advanced Security 기능입니다(베타 릴리스 중 무료). 자세한 내용은 "GitHub Advanced Security 정보"을 참조하세요.

컨테이너화된 빌드를 사용하는 code scanning 정보

컴파일된 언어에 대해 code scanning을(를) 구성하고 컨테이너화된 환경에서 코드를 빌드하는 경우 "빌드 중에 소스 코드가 표시되지 않았습니다."라는 오류 메시지와 함께 분석이 실패할 수 있습니다. 이는 CodeQL이 컴파일될 때 코드를 모니터링할 수 없음을 나타냅니다.

코드를 빌드하는 컨테이너 내에서 CodeQL을 실행해야 합니다. 이는 CodeQL CLI 또는 GitHub Actions을(를) 사용하든 관계없이 적용됩니다. CodeQL CLI에 대한 자세한 내용은 "CI 시스템에 CodeQL CLI 설치"을 참조하세요. GitHub Actions를 사용하는 경우 동일한 컨테이너에서 모든 작업을 실행하도록 워크플로를 구성합니다. 자세한 내용은 “예제 워크플로”를 참조하세요.

참고: CodeQL CLI는 (musl 기반) Alpine Linux와 같은 비 glibc Linux 배포판과 현재 호환되지 않습니다.

종속성

사용 중인 컨테이너에 특정 종속성이 누락된 경우 code scanning를 실행하는 데 어려움이 있을 수 있습니다(예: Git을 설치하고 PATH 변수에 추가해야 함). 종속성 문제가 발생하는 경우 일반적으로 GitHub의 실행기 이미지에 포함된 소프트웨어 목록을 검토합니다. 자세한 내용은 다음 위치에 있는 버전별 readme 파일을 참조하세요.

예제 워크플로

참고: 이 문서에서는 이 버전의 CodeQL의 초기 릴리스에 포함된 CodeQL 작업 및 연결된 번들 버전에서 사용할 수 있는 기능에 대해 설명합니다. 엔터프라이즈에서 최신 버전의 CodeQL 작업을 사용하는 경우 최신 기능에 대한 자세한 내용은 이 문서의 GitHub Enterprise Cloud 버전을 참조하세요.

이 샘플 워크플로는 GitHub Actions를 사용하여 컨테이너화된 환경에서 CodeQL 분석을 수행합니다. container.image 값은 사용할 컨테이너를 식별합니다. 이 예에서 이미지 이름은 codeql-container이고 태그는 f0f91db입니다. 자세한 내용은 "GitHub Actions에 대한 워크플로 구문"을 참조하세요.

name: "CodeQL"

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
  schedule:
    - cron: '15 5 * * 3'

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      security-events: write
      actions: read

    strategy:
      fail-fast: false
      matrix:
        language: [java]

    # Specify the container in which actions will run
    container:
      image: codeql-container:f0f91db

    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v2
        with:
          languages: ${{ matrix.language }}
      - name: Build
        run: |
          ./configure
          make
      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v2