์ฐธ๊ณ ํญ๋ชฉ
์ด ์ฝํ ์ธ ๋ CodeQL CLI์ ์ต์ ๋ฆด๋ฆฌ์ค์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์ด ์์์ ๋ํ ์์ธํ ๋ด์ฉ์ https://github.com/github/codeql-cli-binaries/releases์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ด์ ๋ฆด๋ฆฌ์ค์์ ์ด ๋ช
๋ น์ ์ฌ์ฉํ ์ ์๋ ์ต์
์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ํฐ๋ฏธ๋์์ ์ต์
์ ์ฌ์ฉํ์ฌ --help
๋ช
๋ น์ ์คํํฉ๋๋ค.
๊ฐ์
codeql pack add <options>... -- <scope/name[@range]>...
codeql pack add <options>... -- <scope/name[@range]>...
์ค๋ช
์ ํ์ ๋ฒ์ ๋ฒ์๊ฐ ์๋ QL ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํฉ ๋ชฉ๋ก์ ํ์ฌ ํจํค์ง์ ์ข ์์ฑ์ผ๋ก ์ถ๊ฐํ ๋ค์ ์ค์นํฉ๋๋ค.
์ด ๋ช ๋ น์ ํ์ฌ ํจํค์ง์ qlpack.yml ํ์ผ์ ์์ ํฉ๋๋ค. ์์ ๋ฐ ์ฃผ์์ ์ ๊ฑฐ๋ฉ๋๋ค.
v2.6.0
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ต์
๊ธฐ๋ณธ ์ต์
<scope/name[@range]>...
[ํ์] ์ข ์์ฑ ๋ชฉ๋ก์ ์ถ๊ฐํ ํฉ์ ๋ฒ์, ์ด๋ฆ ๋ฐ ์ ํ์ ๋ฒ์ ๋ฒ์์ ๋๋ค.
๋ฒ์ ๋ฒ์๋ฅผ ์ง์ ํ์ง ์๊ฑฐ๋ ๋ฒ์ ๋ฒ์๊ฐ '์ต์ '์ผ๋ก ์ง์ ๋ ๊ฒฝ์ฐ ์ต์ ๋ฒ์ ์ ํฉ์ด ๋ค์ด๋ก๋๋๊ณ ๋ค์ด๋ก๋ํ ๋ฒ์ ๊ณผ ํธํ๋๋ ๋ชจ๋ ๋ฒ์ ์ ํ์ฉํ๋ ์ข ์์ฑ์ด qlpack.yml์ ์ถ๊ฐ๋ฉ๋๋ค.
๋จ์ผ ๋ฒ์ ์ด ์ง์ ๋ ๊ฒฝ์ฐ ํด๋น ๋ฒ์ ์ ํฉ์ด ๋ค์ด๋ก๋๋๊ณ ์ง์ ๋ ๋ฒ์ ๊ณผ ํธํ๋๋ ๋ชจ๋ ๋ฒ์ ์ ํ์ฉํ๋ ์ข ์์ฑ์ด qlpack.yml์ ์ถ๊ฐ๋ฉ๋๋ค.
๋ฒ์ ๋ฒ์๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ ์ง์ ๋ ๋ฒ์๋ฅผ ์ถฉ์กฑํ๋ ํฉ์ ์ต์ ๋ฒ์ ์ด ๋ค์ด๋ก๋๋๊ณ ์ง์ ๋ ๋ฒ์ ๋ฒ์๊ฐ ์๋ qlpack.yml์ ์ข ์์ฑ์ด ์ถ๊ฐ๋ฉ๋๋ค.
--dir=<dir>
ํจํค์ง์ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ์ ๋๋ค.
--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 ํ๊ฒฝ ๋ณ์๊ฐ ์ฌ์ ์๋ฉ๋๋ค.
--[no-]allow-prerelease
์ํํ ๋ฒ์ ํ์ ์๊ฐ ์๋ ํฉ(์: X.Y.Z-qualifier
) ์ฌ์ฉ์ ํ์ฉํฉ๋๋ค. ์ด ํ๋๊ทธ๊ฐ ์์ผ๋ฉด ์ํํ ํฉ์ ๋ฌด์๋ฉ๋๋ค.
v2.11.3
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ผ๋ฐ ์ต์
-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
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.