인증 중 GitHubContainer registries
적절한 인증을 통해 팩을 게시하고 프라이빗 팩을 다운로드할 수 있습니다 GitHubContainer registry.
Container registry에 두 가지 방법으로 인증할 수 있습니다.
1.
--github-auth-stdin 옵션을 CodeQL CLI에 전달하고 나서, GitHub Apps 토큰이나 personal access token를 표준 입력을 통해 공급합니다.
- 환경 변수
GITHUB_TOKEN를 GitHub Apps 토큰 또는 personal access token.로 설정합니다.
CodeQL 팩을 게시하기
다른 사용자와 CodeQL 팩을 공유하려면 해당 팩을 Container registry에 게시할 수 있습니다.
게시하기 전에 qlpack.yml 파일 구성
게시하기 전에 팩의 구성 세부 정보를 확인하고 수정할 수 있습니다 CodeQL . 텍스트 편집기에서 qlpack.yml 파일을 엽니다.
library: # set to true if the pack is a library. Set to false or omit for a query pack
name: <scope>/<pack>
version: <x.x.x>
description: <Description to publish with the package>
defaultSuite: # optional, one or more queries in the pack to run by default
- query: <relative-path>/query-file>.ql
defaultSuiteFile: default-queries.qls # optional, a pointer to a query-suite in this pack
license: # optional, the license under which the pack is published
dependencies: # map from CodeQL pack name to version range
-
`name:`은 GitHub 형식을 따라야 하며, 여기서 `<scope>`는 게시할 `<scope>/<pack>` 조직의 이름이고 `<pack>`는 팩의 이름입니다. -
최대 1개의
defaultSuite또는defaultSuiteFile만 허용됩니다. 실행할 기본 쿼리 그룹을 정의하는 두 가지 방법이 있습니다. 첫 번째는 qlpack.yml 파일에서 직접 쿼리를 지정하고 두 번째는 팩에 쿼리 도구 모음을 지정합니다.
`codeql pack publish` 실행
팩을 게시할 GitHubContainer registry준비가 되면 팩 디렉터리의 루트에서 다음 명령을 실행할 수 있습니다.
codeql pack publish
게시된 패키지는 파일의 qlpack.yml 범위에서 지정한 GitHub 조직의 패키지 섹션에 표시됩니다.
참고
기본 설정 구성의 일부로 조직의 모든 리포지토리로 범위를 확장하기 위해 모델 팩 GitHubContainer registry 을 게시하는 경우 코드 검사를 실행하는 리포지토리가 해당 모델 팩에 액세스할 수 있는지 확인해야 합니다. 자세한 내용은 기본 설정 구성 편집하기 및 패키지의 액세스 제어 및 표시 여부 구성을(를) 참조하세요.
기존 CodeQL 팩 다운로드
다른 사용자가 만든 팩을 실행하려면 먼저 다음 명령을 실행하여 다운로드해야 합니다.
codeql pack download <scope>/<pack>@x.x.x
-
`<scope>`: 다운로드할 GitHub 조직의 이름입니다. -
`<pack>`: 다운로드하려는 팩의 이름입니다. -
`@x.x.x`: 선택적 버전 번호입니다. 생략하면 최신 버전이 다운로드됩니다.
이 명령은 여러 팩에 대한 인수를 허용합니다.
다운로드할 쿼리 팩의 특정 버전 번호를 지정하는 스크립트를 작성하는 경우 버전을 최신 버전 CodeQL 으로 업데이트할 때 최신 버전의 쿼리 팩으로 전환해야 할 수도 있습니다. 최신 버전은 매우 오래된 버전 CodeQL 에 고정된 쿼리 팩과 함께 사용할 때 성능이 저하될 수 있습니다. 자세한 내용은 CodeQL 쿼리 팩 참조을(를) 참조하세요.
CodeQL팩을 사용하여 CodeQL 데이터베이스 분석
팩을 사용하여 데이터베이스를 CodeQLCodeQL 분석하려면 다음 명령을 실행합니다.
codeql database analyze <database> <scope>/<pack>@x.x.x:<path>
-
`<database>` CodeQL: 분석할 데이터베이스입니다. -
`<scope>`: 팩이 게시된 GitHub 조직의 이름입니다. -
`<pack>`: 사용 중인 팩의 이름입니다. -
`@x.x.x`: 선택적 버전 번호입니다. 생략하면 최신 버전이 사용됩니다. -
`:<path>`: 필요에 따라 실행할 쿼리, 디렉터리 또는 쿼리 도구 모음의 경로를 포함시킵니다. 생략하면 팩의 기본 쿼리 도구 모음이 사용됩니다.
이 analyze 명령은 지정된 CodeQL 팩의 기본 모음을 실행합니다. 데이터베이스를 분석하는 데 사용할 여러 CodeQL 팩을 CodeQL 지정할 수 있습니다. 다음은 그 예입니다.
codeql <database> analyze <scope>/<pack> <scope>/<other-pack>
참고
이 codeql pack download 명령은 다운로드한 팩을 로컬 수정용이 아닌 내부 위치에 저장합니다. 다운로드 후 팩이 수정되면 예기치 않은(및 문제 해결이 어려운) 동작이 발생할 수 있습니다. 사용자 지정 팩에 대한 자세한 정보는 CodeQL 팩 만들기 및 작업을(를) 참조하세요.