{"meta":{"title":"컨테이너에서 CodeQL 코드 검사 실행","intro":"모든 프로세스가 동일한 컨테이너에서 실행되도록 하면 컨테이너에서 code scanning를 실행할 수 있습니다.","product":"보안 및 코드 품질","breadcrumbs":[{"href":"/ko/code-security","title":"보안 및 코드 품질"},{"href":"/ko/code-security/tutorials","title":"Tutorials"},{"href":"/ko/code-security/tutorials/customize-code-scanning","title":"코드 검색 사용자 지정"},{"href":"/ko/code-security/tutorials/customize-code-scanning/run-in-a-container","title":"컨테이너에서 실행"}],"documentType":"article"},"body":"# 컨테이너에서 CodeQL 코드 검사 실행\n\n모든 프로세스가 동일한 컨테이너에서 실행되도록 하면 컨테이너에서 code scanning를 실행할 수 있습니다.\n\n## 컨테이너화된 빌드를 사용하는 code scanning 소개\n\n컴파일된 언어를 구성 code scanning 하고 컨테이너화된 환경에서 코드를 빌드하는 경우 \"빌드하는 동안 소스 코드가 표시되지 않았습니다.\"라는 오류 메시지와 함께 분석이 실패할 수 있습니다. 이는 코드가 컴파일되는 동안 CodeQL이(가) 코드를 모니터링할 수 없었음을 나타냅니다.\n\n코드를 빌드하는 컨테이너 내에서 실행 CodeQL 해야 합니다. 이 값은 사용 CodeQL CLIGitHub Actions여부에 관계없이 적용됩니다.\nCodeQL CLI자세한 내용은 [사용자의 기존 CI 시스템으로 코드 검색 사용하기](/ko/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system)을 참조하세요. 사용하는 GitHub Actions경우 동일한 컨테이너에서 모든 작업을 실행하도록 워크플로를 구성합니다. 자세한 내용은 [예제 워크플로](#example-workflow)에서 확인할 수 있습니다.\n\n> \\[!NOTE]\n> CodeQL CLI는 (musl 기반) Alpine Linux와 같은 비 glibc Linux 배포판과 현재 호환되지 않습니다.\n\n## 에 대한 종속성 CodeQLcode scanning\n\n사용 중인 컨테이너에 특정 종속성이 누락된 경우 실행 code scanning 이 어려울 수 있습니다(예: Git을 설치하고 PATH 변수에 추가해야 합니다). 종속성 문제가 발생하면 GitHub의 러너 이미지에 일반적으로 포함되는 소프트웨어 목록을 검토하세요. 자세한 내용은 다음 위치에 있는 버전별 `readme` 파일을 참조하세요.\n\n* 리눅스: <https://github.com/actions/runner-images/tree/main/images/ubuntu>\n* macOS: <https://github.com/actions/runner-images/tree/main/images/macos>\n* Windows: <https://github.com/actions/runner-images/tree/main/images/windows>\n\n## 예시 워크플로\n\n이 샘플 워크플로는 컨테이너화된 환경에서 분석을 실행하는 GitHub Actions 데 사용합니다CodeQL.\n`container.image` 값은 사용할 컨테이너를 식별합니다. 이 예에서 이미지 이름은 `codeql-container`이고 태그는 `f0f91db`입니다. 자세한 내용은 [GitHub Actions에 대한 워크플로 구문](/ko/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idcontainer)을(를) 참조하세요.\n\n```yaml\nname: \"CodeQL\"\n\non:\n  push:\n    branches: [main]\n  pull_request:\n    branches: [main]\n  schedule:\n    - cron: '15 5 * * 3'\n\njobs:\n  analyze:\n    name: Analyze\n    runs-on: ubuntu-latest\n    permissions:\n      security-events: write\n      actions: read\n\n    strategy:\n      fail-fast: false\n      matrix:\n        language: [java-kotlin]\n\n    # Specify the container in which actions will run\n    container:\n      image: codeql-container:f0f91db\n\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v6\n      - name: Initialize CodeQL\n        uses: github/codeql-action/init@v4\n        with:\n          languages: ${{ matrix.language }}\n      - name: Build\n        run: |\n          ./configure\n          make\n      - name: Perform CodeQL Analysis\n        uses: github/codeql-action/analyze@v4\n```"}