์ฐธ๊ณ ํญ๋ชฉ
์ด ์ฝํ ์ธ ๋ CodeQL CLI์ ์ต์ ๋ฆด๋ฆฌ์ค์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์ด ์์์ ๋ํ ์์ธํ ๋ด์ฉ์ https://github.com/github/codeql-cli-binaries/releases์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ด์ ๋ฆด๋ฆฌ์ค์์ ์ด ๋ช
๋ น์ ์ฌ์ฉํ ์ ์๋ ์ต์
์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ํฐ๋ฏธ๋์์ ์ต์
์ ์ฌ์ฉํ์ฌ --help
๋ช
๋ น์ ์คํํฉ๋๋ค.
๊ฐ์
codeql pack publish [--dry-run] [--threads=<num>] [--ram=<MB>] [--pack=<folder> | <package.tgz>] <options>... -- <dir>
codeql pack publish [--dry-run] [--threads=<num>] [--ram=<MB>] [--pack=<folder> | <package.tgz>] <options>... -- <dir>
์ค๋ช
QL ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํฉ์ ํจํค์ง ๋ ์ง์คํธ๋ฆฌ์ ๊ฒ์ํฉ๋๋ค.
์ด ๋ช ๋ น์ ํจํค์ง ๋ ์ง์คํธ๋ฆฌ์ ํฉ์ ๊ฒ์ํฉ๋๋ค. ๊ฒ์ํ๊ธฐ ์ ์ ๋จผ์ ํฉ์ด ์ปดํ์ผ๋๊ณ (ํ์ํ ๊ฒฝ์ฐ) ๋ฒ๋ค๋ก ๋ฌถ์ต๋๋ค.
v2.6.0
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ต์
๊ธฐ๋ณธ ์ต์
<dir>
ํจํค์ง ๋๋ ์์ ์์ญ์ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ๋ก, ๊ธฐ๋ณธ๊ฐ์ ํ์ฌ ์์ ๋๋ ํฐ๋ฆฌ์ ๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๊ฐ qlpack.yml์ด ํฌํจ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒฝ์ฐ ์ด ์์ ์ ํด๋น CodeQL ํจํค์ง์์๋ง ์คํ๋ฉ๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๊ฐ codeql-workspace.yml์ด ํฌํจ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒฝ์ฐ ์ด ์์ ์ ์์ ์์ญ์ ๋ชจ๋ CodeQL ํจํค์ง์์ ์คํ๋ฉ๋๋ค.
-n, --[no-]dry-run
์ํ๋ ์์ ์ ์ถ๋ ฅํ์ง๋ง ์ค์ ๋ก ํจํค์ง๋ฅผ ๊ฒ์ํ์ง๋ ์์ต๋๋ค.
--no-keep
๊ฒ์ํ ํ ํฉ ๋ฒ๋ค์ ์ญ์ ํฉ๋๋ค.
-j, --threads=<num>
ํด๋น ์ค๋ ๋ ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์ปดํ์ผํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ 1์ ๋๋ค. 0์ ์ ๋ฌํ์ฌ ์ปดํจํฐ์ ์ฝ์ด๋น ํ๋์ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ -_N_์ ์ ๋ฌํ์ฌ _N_๊ฐ์ ์ฝ์ด๋ฅผ ์ฌ์ฉํ์ง ์์ ์ํ๋ก ๋ ์ ์์ต๋๋ค(ํ๋ ์ด์์ ์ค๋ ๋๋ฅผ ๊ณ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ธ).
-M, --ram=<MB>
์ปดํ์ผ๋ฌ๊ฐ ์ฌ์ฉํ ์ ์๋ ์ด RAM ์์ ์ค์ ํฉ๋๋ค.
--no-precompile
[๊ณ ๊ธ] ํฉ ์ถ๋ ฅ ๋๋ ํฐ๋ฆฌ์์ ์ปดํ์ผ ์บ์๋ฅผ ๋ฏธ๋ฆฌ ์ปดํ์ผํ์ง ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํฉ์ ํฌ๊ธฐ์ ํฉ์ ๋ง๋๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ค์ด๋ค์ง๋ง ํฉ์ ์คํํ๋ ค๋ฉด ์ปดํ์ผ์ด ํ์ํฉ๋๋ค. ์ฟผ๋ฆฌ ํฉ์๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค.
--no-validate-extensions
[๊ณ ๊ธ] ์ปดํ์ผ ๋จ๊ณ์ ์ผ๋ถ๋ก ๋ฐ์ดํฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ํจ์ฑ์ ๊ฒ์ฌํ์ง ์์ต๋๋ค.
v2.13.3
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
--no-overwrite
[๊ณ ๊ธ] ์ด ๋ช ๋ น์ ์ด์ ํธ์ถ์์ ์ปดํ์ผ๋ ๊ธฐ์กด ์ถ๋ ฅ์ ๋ค์ ์ปดํ์ผํ๊ณ ๋ฎ์ด์ฐ์ง ์๋๋ก ํฉ๋๋ค.
-p, --pack=<folder> | <package.tgz>
[๊ณ ๊ธ] ํจํค์ง๋ tarball์ ๋ฐฐ์นํ ์์น์ ๋๋ค. ์ด ์ต์ ์ด .tgz๋ก ๋๋๋ฉด ํด๋น ์ด๋ฆ์ผ๋ก tarball์ด ๋ง๋ค์ด์ง๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ง์ ๋ ๊ฒฝ๋ก์ ์ ๋๋ ํฐ๋ฆฌ๊ฐ ๋ง๋ค์ด์ง๊ณ ๊ฑฐ๊ธฐ์ ํ๋ ์ด์์ tarball์ด ๋ง๋ค์ด์ง๋๋ค. ์์ ์์ญ์๋ .tgz๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
--file=<package.tgz>
[๊ณ ๊ธ] ์๋ก ๋ง๋ค๊ฑฐ๋ ๋ฒ๋ค๋ก ๋ฌถ์ง ์๊ณ package.tgz
๋ฅผ ํจํค์ง ๋ ์ง์คํธ๋ฆฌ์ ์ง์ ์
๋ก๋ํฉ๋๋ค.
--[no-]allow-prerelease
์ํํ ๋ฒ์ ํ์ ์๊ฐ ์๋ ํฉ(์: X.Y.Z-qualifier
) ์ฌ์ฉ์ ํ์ฉํฉ๋๋ค. ์ด ํ๋๊ทธ๊ฐ ์์ผ๋ฉด ์ํํ ํฉ์ ๋ฌด์๋ฉ๋๋ค.
v2.11.3
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด ๋ช ๋ น์ ์ ์ฉํ CodeQL ํฉ์ ๊ตฌ์ฑํ๋ ์ต์
--format=<fmt>
์ถ๋ ฅ ํ์(text
(๊ธฐ๋ณธ๊ฐ) ๋๋ json
)์ ์ ํํฉ๋๋ค.
--groups=[-]<group>[,[-]<group>...]
์ด ์์ ์์ ํฌํจํ๊ฑฐ๋ ์ ์ธํ CodeQL ํฉ ๊ทธ๋ฃน ๋ชฉ๋ก์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ง์ ๋ ์์ ์์ญ์ qlpack์ด ํฌํจ๋ฉ๋๋ค.
- ๋นผ๊ธฐ ๊ธฐํธ ์์ด ๋์ด๋ ๊ทธ๋ฃน ์ค ํ๋ ์ด์์ ์ํ๋ ๊ฒฝ์ฐ(๋นผ๊ธฐ ๊ธฐํธ ์์ด ๋์ด๋ ๊ทธ๋ฃน์ด ์์ผ๋ฉด ์ด ์กฐ๊ฑด์ด ์๋์ผ๋ก ์ถฉ์กฑ๋จ) ๋ฐ
- ๋นผ๊ธฐ ๊ธฐํธ๋ก ๋์ด๋ ๊ทธ๋ฃน์ ์ํ์ง ์๋ ๊ฒฝ์ฐ
์ปดํ์ผ ํ๊ฒฝ์ ์ค์ ํ๋ ์ต์
--search-path=<dir>[:<dir>...]
QL ํฉ์ ์ฐพ์ ์ ์๋ ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์
๋๋ค. ๊ฐ ๋๋ ํฐ๋ฆฌ๋ QL ํฉ(๋๋ ๋ฃจํธ์ .codeqlmanifest.json
ํ์ผ์ด ํฌํจ๋ ํฉ ๋ฒ๋ค) ๋๋ ๊ทธ๋ฌํ ๋๋ ํฐ๋ฆฌ ํ๋ ์ด์์ ์ง๊ณ ๋ถ๋ชจ์ผ ์ ์์ต๋๋ค.
๊ฒฝ๋ก์ ๋ ์ด์์ ๋๋ ํฐ๋ฆฌ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ์ ์์๊ฐ ์ฐ์ ์์๋ฅผ ์ ์ํฉ๋๋ค. ํ์ธํด์ผ ํ๋ ํฉ ์ด๋ฆ์ด ๋๋ ํฐ๋ฆฌ ํธ๋ฆฌ ์ค ๋ ์ด์์์ ์ผ์นํ๋ ๊ฒฝ์ฐ ๋จผ์ ์ง์ ๋ ๋๋ ํฐ๋ฆฌ๊ฐ ์ฐ์ ํฉ๋๋ค.
์คํ ์์ค CodeQL ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฒดํฌ ์์์์ ์ด๋ฅผ ๊ฐ๋ฆฌํค๋ฉด ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๋ ์ธ์ด ์ค ํ๋๋ฅผ ์ฟผ๋ฆฌํ ๋ ์๋ํด์ผ ํฉ๋๋ค.
์์ถ์ ํผ CodeQL ํด์ฒด์ธ์ ํ์ ๋ก CodeQL ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฒดํฌ ์์ํ ๊ฒฝ์ฐ ์ด ์ต์
์ ์ง์ ํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ํ์ ๋๋ ํฐ๋ฆฌ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฐพ์ ์ ์๋ QL ํฉ์ผ๋ก ํญ์ ๊ฒ์๋ฉ๋๋ค. (์ด ๊ธฐ๋ณธ๊ฐ์ด ์๋ํ์ง ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ณ ๊ตฌ์ฑ ํ์ผ์์ --search-path
๋ฅผ ํ ๋ฒ๋ง ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค).
(์ฐธ๊ณ : Windows์์๋ ๊ฒฝ๋ก ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ;
์
๋๋ค.)
--additional-packs=<dir>[:<dir>...]
์ด ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์ด ์ง์ ๋ ๊ฒฝ์ฐ --search-path
์ ์๋ ๋๋ ํฐ๋ฆฌ๋ณด๋ค ๋จผ์ ํฉ์ด ๊ฒ์๋ฉ๋๋ค. ์ด ์ฌ์ด์ ์์๋ ์ค์ํ์ง ์์ต๋๋ค. ์ด ๋ชฉ๋ก์ ํตํด ์๋ก ๋ค๋ฅธ ๋ ์์น์์ ํฉ ์ด๋ฆ์ ์ฐพ์ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ ๊ฒฝ๋ก์๋ ํ์๋๋ ํฉ์ ์ ๋ฒ์ ์ ์ผ์์ ์ผ๋ก ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค. ๋ฐ๋ฉด์ ๊ตฌ์ฑ ํ์ผ์์ ์ด ์ต์ ์ ์ฌ์ ์ํ๋ ๊ฒ์ ๊ถ์ฅ๋์ง ์์ต๋๋ค. ์ผ๋ถ ๋ด๋ถ ์์ ์์๋ ๊ตฌ์ฑ๋ ๊ฐ์ ์ฌ์ ์ํ์ฌ ์ฆ์ ์ด ์ต์ ์ ์ถ๊ฐํฉ๋๋ค.
(์ฐธ๊ณ : Windows์์๋ ๊ฒฝ๋ก ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ;
์
๋๋ค.)
--library-path=<dir>[:<dir>...]
[๊ณ ๊ธ] QL ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์ ๊ฐ์ ธ์ค๊ธฐ ๊ฒ์ ๊ฒฝ๋ก์ ์ถ๊ฐ๋ ์ ํ์ ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์ ๋๋ค. QL ํฉ์ผ๋ก ํจํค์ง๋์ง ์์ QL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค.
(์ฐธ๊ณ : Windows์์๋ ๊ฒฝ๋ก ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ;
์
๋๋ค.)
--dbscheme=<file>
[๊ณ ๊ธ] ์ปดํ์ผํด์ผ ํ๋ dbscheme ์ฟผ๋ฆฌ๋ฅผ ๋ช ์์ ์ผ๋ก ์ ์ํฉ๋๋ค. ์์ ์ด ์ํํ๊ณ ์๋ ์์ ์ ๋ํด ๋งค์ฐ ํ์ ํ๋ ํธ์ถ์์ ์ํด์๋ง ์ง์ ๋์ด์ผ ํฉ๋๋ค.
--compilation-cache=<dir>
[๊ณ ๊ธ] ์ปดํ์ผ ์บ์๋ก ์ฌ์ฉํ ์ถ๊ฐ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ง์ ํฉ๋๋ค.
--no-default-compilation-cache
[๊ณ ๊ธ] ์ฟผ๋ฆฌ๋ฅผ ํฌํจํ๋ QL ํฉ ๋๋ CodeQL ํด์ฒด์ธ ๋๋ ํฐ๋ฆฌ์ ๊ฐ์ ํ์ค ์์น์์ ์ปดํ์ผ ์บ์๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.
CodeQL ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ๊ตฌ์ฑํ๋ ์ต์
--registries-auth-stdin
์ผํ๋ก ๊ตฌ๋ถ๋ <registry_url>=<token> ์ ๋ชฉ๋ก์ ์ ๋ฌํ์ฌ GitHub Enterprise Server ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ์ ์ธ์ฆํฉ๋๋ค.
์๋ฅผ ๋ค์ด https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2
๋ฅผ ์ ๋ฌํ์ฌ
๋ ๊ฐ์ GitHub Enterprise Server ์ธ์คํด์ค์ ์ธ์ฆํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด CODEQL_REGISTRIES_AUTH ๋ฐ GITHUB_TOKEN ํ๊ฒฝ ๋ณ์๊ฐ ์ฌ์ ์๋ฉ๋๋ค. github.com ์ปจํ
์ด๋ ๋ ์ง์คํธ๋ฆฌ์๋ง ์ธ์ฆํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ ๊ฐ๋จํ --github-auth-stdin
์ต์
์ ์ฌ์ฉํ์ฌ ์ธ์ฆํ ์ ์์ต๋๋ค.
--github-auth-stdin
ํ์ค ์ ๋ ฅ์ ํตํด github.com์ GitHub Apps ํ ํฐ ๋๋ ๊ฐ์ธ์ฉ ์ก์ธ์ค ํ ํฐ์ ์ ๋ฌํ์ฌ github.com ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ์ ์ธ์ฆํฉ๋๋ค.
GitHub Enterprise Server ์ปจํ
์ด๋ ๋ ์ง์คํธ๋ฆฌ์ ์ธ์ฆํ๋ ค๋ฉด --registries-auth-stdin
์ ์ ๋ฌํ๊ฑฐ๋ CODEQL_REGISTRIES_AUTH ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด GITHUB_TOKEN ํ๊ฒฝ ๋ณ์๊ฐ ์ฌ์ ์๋ฉ๋๋ค.
์ผ๋ฐ ์ต์
-h, --help
์ด ๋์๋ง ํ ์คํธ๋ฅผ ํ์ํฉ๋๋ค.
-J=<opt>
[๊ณ ๊ธ] ๋ช ๋ น์ ์คํํ๋ JVM์ ์ต์ ์ ์ง์ ํฉ๋๋ค.
(๊ณต๋ฐฑ์ ํฌํจํ๋ ์ต์ ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌ๋์ง ์์ ์ ์์ผ๋ ์ฃผ์ํ์ธ์.)
-v, --verbose
์ถ๋ ฅ๋๋ ์งํ๋ฅ ๋ฉ์์ง ์๋ฅผ ์ ์ง์ ์ผ๋ก ๋๋ฆฝ๋๋ค.
-q, --quiet
์ถ๋ ฅ๋๋ ์งํ๋ฅ ๋ฉ์์ง ์๋ฅผ ์ ์ง์ ์ผ๋ก ์ค์ ๋๋ค.
--verbosity=<level>
[๊ณ ๊ธ] ์ธ๋ถ ์ ๋ณด ํ์ ์์ค์ ์ค๋ฅ, ๊ฒฝ๊ณ , ์งํ๋ฅ , ์งํ๋ฅ +, ์งํ๋ฅ ++, ์งํ๋ฅ +++ ์ค ํ๋๋ก ๋ช
์์ ์ผ๋ก ์ค์ ํฉ๋๋ค. -v
๋ฐ -q
๋ฅผ ์ฌ์ ์ํฉ๋๋ค.
--logdir=<dir>
[๊ณ ๊ธ] ํ์์คํฌํ์ ์คํ ์ค์ธ ํ์ ๋ช ๋ น์ ์ด๋ฆ์ ํฌํจํ๋ ์์ฑ๋ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์ง์ ๋ ๋๋ ํฐ๋ฆฌ์ ์๋ ํ๋ ์ด์์ ํ์ผ์ ์์ธํ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
(๋ชจ๋ ๊ถํ์ ๊ฐ์ง ์ด๋ฆ์ผ๋ก ๋ก๊ทธ ํ์ผ์ ์์ฑํ๋ ค๋ฉด --log-to-stderr
์(๋ฅผ) ์ง์ ํ๊ณ stderr๋ฅผ ์ํ๋ ๋๋ก ๋ฆฌ๋๋ ์
ํฉ๋๋ค.)
--common-caches=<dir>
[๊ณ ๊ธ] ๋ค์ด๋ก๋ํ QL ํฉ ๋ฐ ์ปดํ์ผ๋ ์ฟผ๋ฆฌ ๊ณํ๊ณผ ๊ฐ์ด ์ฌ๋ฌ CLI ์คํ ๊ฐ์ ์ ์ง๋๋ ๋์คํฌ์ ์บ์๋ ๋ฐ์ดํฐ์ ์์น๋ฅผ ์ ์ดํฉ๋๋ค. ๋ช
์์ ์ผ๋ก ์ค์ ํ์ง ์์ ๊ฒฝ์ฐ ์ด ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ์ ์ด๋ฆ์ด ์ง์ ๋ .codeql
๋๋ ํฐ๋ฆฌ๋ก ์ค์ ๋๋ฉฐ, ์์ง ์๋ ๊ฒฝ์ฐ ๋ง๋ค์ด์ง๋๋ค.
v2.15.2
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.