다중 리포지토리 변형 분석을 사용한 대규모 CodeQL 쿼리 실행 정보
MRVA(다중 리포지토리 변형 분석)를 사용하면 Visual Studio Code의 GitHub에 있는 최대 1,000개의 리포지토리 목록에서 CodeQL 쿼리를 실행할 수 있습니다.
리포지토리 목록에 대해 MRVA를 실행하면 분석할 수 있는 CodeQL 데이터베이스가 있는 각 리포지토리에 대해 쿼리가 실행됩니다. GitHub는 CodeQL을 사용하여 code scanning을 실행하는 모든 리포지토리를 포함하여 수천 개의 공용 리포지토리 기본 분기에 대한 최신 CodeQL 데이터베이스를 만들고 저장합니다.
분석 목록에 리포지토리를 추가하기 전에 기본 설정 또는 고급 설정을 사용하여 GitHub에서 CodeQL을(를) 사용하여 code scanning을(를) 사용해야 합니다. CodeQL을 사용하여 code scanning을 사용하도록 설정에 대한 자세한 정보는 코드 스캔을 위한 고급 설정 구성을(를) 참조하세요.
MRVA가 GitHub.com에서 CodeQL 데이터베이스에 대해 쿼리를 실행하는 방법
MRVA를 실행하면 분석이 GitHub Actions을(를) 사용하여 완전히 실행됩니다. 워크플로를 만들 필요는 없지만 Visual Studio Code용 CodeQL 확장이 컨트롤러 리포지토리로 사용해야 하는 리포지토리를 지정해야 합니다. 각 리포지토리의 분석이 완료되면 결과를 볼 수 있도록 VS Code(으)로 전송됩니다.
CodeQL 익스텐션은 라이브러리 및 라이브러리 종속성이 있는 CodeQL 팩을 빌드합니다. CodeQL 팩 및 선택한 리포지토리 목록은 GitHub의 API 엔드포인트에 게시되어 컨트롤러 리포지토리에서 GitHub Actions 동적 워크플로를 트리거합니다. 워크플로는 여러 병렬 작업을 실행하여 목록의 리포지토리에 대해 CodeQL 쿼리를 실행해 쿼리 실행을 최적화합니다. 각 리포지토리가 분석되면 결과가 처리되고 VS Code에 표시됩니다.
필수 조건
-
첫 번째 다중 리포지토리 변형 분석을 실행하려면 먼저 컨트롤러 리포지토리를 정의해야 합니다.
-
컨트롤러 리포지토리는 비어 있을 수 있지만 커밋이 하나 이상 있어야 합니다.
-
컨트롤러 리포지토리는 MRVA를 사용하여 분석하려는 리포지토리와 동일한 사이트에 즉, GitHub.com 또는 SUBDOMAIN.ghe.com에서 호스트되어야 합니다. 데이터 보존 기능을 갖춘 GitHub Enterprise Cloud에서 MRVA를 실행하려면 확장에서 사용하는 GitHub URL 변경을 참조하세요.
-
GitHub.com에서 퍼블릭 리포지토리만 분석하려는 경우 컨트롤러 리포지토리 표시 여부는 "public"으로 설정할 수 있습니다. 변형 분석은 무료입니다.
-
GitHub.com에서 프라이빗 또는 내부 리포지토리를 분석해야 하는 경우 컨트롤러 리포지토리 표시 여부는 "private"이어야 합니다.
무료 제한을 초과하는 프라이빗 또는 내부 리포지토리에서 변형 분석을 실행하는 데 사용하는 모든 작업 시간(분)은 리포지토리 소유자에게 청구됩니다. 무료 시간(분) 및 청구에 대한 자세한 내용은 GitHub Actions 요금 청구 정보을(를) 참조하세요.
MRVA에 대한 컨트롤러 리포지토리 설정
-
"변형 분석 리포지토리" 보기에서 컨트롤러 리포지토리 설정을 클릭하여 컨트롤러 리포지토리에 대한 필드를 표시합니다.
-
컨트롤러 리포지토리로 사용할 GitHub에 리포지토리의 소유자와 이름을 입력하고 Enter 키를 누릅니다. 이 리포지토리는 분석하려는 리포지토리와 동일한 GitHub 인스턴스에 있어야 합니다. 확장에서 사용하는 GitHub URL 변경을 참조하세요.
-
GitHub로 인증하라는 메시지가 표시되면 지침에 따라 계정에 로그인합니다. 완료되면 GitHub 인증의 프롬프트에서 Visual Studio Code에서 열 수 있는 권한을 요청할 수 있으며 Open을 클릭합니다.
컨트롤러 리포지토리의 이름은 CodeQL 익스텐션에 대한 설정에 저장됩니다. 컨트롤러 리포지토리를 편집하는 방법에 대한 자세한 내용은