์ฐธ๊ณ ํญ๋ชฉ
์ด ์ฝํ ์ธ ๋ CodeQL CLI์ ์ต์ ๋ฆด๋ฆฌ์ค์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์ด ์์์ ๋ํ ์์ธํ ๋ด์ฉ์ https://github.com/github/codeql-cli-binaries/releases์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ด์ ๋ฆด๋ฆฌ์ค์์ ์ด ๋ช
๋ น์ ์ฌ์ฉํ ์ ์๋ ์ต์
์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ํฐ๋ฏธ๋์์ ์ต์
์ ์ฌ์ฉํ์ฌ --help
๋ช
๋ น์ ์คํํฉ๋๋ค.
๊ฐ์
codeql database create [--language=<lang>[,<lang>...]] [--github-auth-stdin] [--github-url=<url>] [--source-root=<dir>] [--threads=<num>] [--ram=<MB>] [--command=<command>] [--extractor-option=<extractor-option-name=value>] <options>... -- <database>
codeql database create [--language=<lang>[,<lang>...]] [--github-auth-stdin] [--github-url=<url>] [--source-root=<dir>] [--threads=<num>] [--ram=<MB>] [--command=<command>] [--extractor-option=<extractor-option-name=value>] <options>... -- <database>
์ค๋ช
CodeQL ์ ํ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ถ์ํ ์ ์๋ ์๋ณธ ํธ๋ฆฌ์ ๋ํ CodeQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค.
์ต์
๊ธฐ๋ณธ ์ต์
<database>
[ํ์] ๋ง๋ค CodeQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฝ๋ก์ ๋๋ค. ์ด ๋๋ ํฐ๋ฆฌ๊ฐ ๋ง๋ค์ด์ง๊ณ ์์ง ์กด์ฌํ์ง ์์์ผ ํฉ๋๋ค(ํ์ง๋ง ํด๋น ๋ถ๋ชจ๋ ๋ฐ๋์ ์กด์ฌํด์ผ ํฉ๋๋ค).
--db-cluster
์ต์
์ด ์ง์ ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฒด๊ฐ ์๋๋ผ ๋์ผํ ์๋ณธ ๋ฃจํธ์์ ๋น๋๋ ์ฌ๋ฌ ์ธ์ด์ ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํฌํจํ๋ ๋๋ ํฐ๋ฆฌ๊ฐ ๋ฉ๋๋ค.
์ด ๋๋ ํฐ๋ฆฌ๊ฐ ๋น๋ ํ๋ก์ธ์ค์๊ฒ ๋ฐฉํด๋ฐ์ ์์น์ ์์ง ์์ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด Maven ํ๋ก์ ํธ์ target
๋๋ ํฐ๋ฆฌ๊ฐ ์ ํฉํ์ง ์์ ์ ์์ต๋๋ค.
--[no-]overwrite
[๊ณ ๊ธ] ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ๊ณ ์ค๋จํ๋ ๋์ ์ด ๋ช ๋ น์ ๊ณ์ ์งํํฉ๋๋ค. ๋๋ ํฐ๋ฆฌ๊ฐ ์์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฒ๋ผ ๋ณด์ด์ง ์๋ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
--[no-]force-overwrite
[๊ณ ๊ธ] ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฒ๋ผ ๋ณด์ด์ง ์๋๋ผ๋ ์ญ์ ํ๊ณ ์คํจํ์ง ์๋๋ก ์ด ๋ช ๋ น์ ๊ณ์ ์งํํฉ๋๋ค. ์ด ์ต์ ์ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์ญ์ ํ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํด์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
--codescanning-config=<file>
[๊ณ ๊ธ] CodeQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ๊ณผ ์ดํ ๋จ๊ณ์์ ์คํํ ์ฟผ๋ฆฌ์ ๋ํ ์ต์ ์ ์ง์ ํ๋ ์ฝ๋ ๊ฒ์ ๊ตฌ์ฑ ํ์ผ์ ์ฝ์ต๋๋ค. ์ด ๊ตฌ์ฑ ํ์ผ์ ํ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฝ๋ ๊ฒ์์ ์ํ ๊ณ ๊ธ ์ค์ ์ฌ์ฉ์ ์ง์ ์ ์ฐธ์กฐํ์ธ์. ์ดํ ๋จ๊ณ์์ ์ด ํ์ผ์์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ค๋ฉด ์ง์ ๋ ๋ค๋ฅธ ์ฟผ๋ฆฌ ์์ด codeql ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ถ์์ ํธ์ถํฉ๋๋ค.
--[no-]db-cluster
๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋๋ ๋์ ๋ค์ํ ์ธ์ด์ ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ "ํด๋ฌ์คํฐ"๋ฅผ ๋ง๋ญ๋๋ค. ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ช ๋ น์ค์ ์ง์ ๋ ๋๋ ํฐ๋ฆฌ์ ํ์ ๋๋ ํฐ๋ฆฌ์ ๋๋ค.
-l, --language=<lang>[,<lang>...]
์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ถ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ธ์ด์ ๋๋ค.
codeql ํ์ธ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์ ๊ฒฝ๋ก์ ์๋ ํ๋ฌ๊ทธํ ์ธ์ด ์ถ์ถ๊ธฐ ๋ชฉ๋ก์ ๊ฐ์ ธ์ต๋๋ค.
--db-cluster
์ต์
์ ์ง์ ํ๋ฉด, ์ฌ๋ฌ ๋ฒ ํ์๋๊ฑฐ๋ ๊ฐ์ด ์ผํ๋ก ๊ตฌ๋ถ๋ ์ธ์ด ๋ชฉ๋ก์ผ ์ ์์ต๋๋ค.
์ด ์ต์
์ ์๋ตํ๊ณ ๋ถ์ ์ค์ธ ์๋ณธ ๋ฃจํธ๊ฐ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฒ์ฌ์ธ ๊ฒฝ์ฐ, CodeQL CLI๋ GitHub API๋ฅผ ํธ์ถํ์ฌ ๋ถ์ํ ์ธ์ด๋ฅผ ์๋์ผ๋ก ๊ฒฐ์ ํ๋ ค๊ณ ์๋ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ํ๊ฒฝ ๋ณ์ GITHUB_ํ ํฐ ๋๋ --github-auth-stdin
์ต์
์ ์ฌ์ฉํ์ฌ ํ์ค ์
๋ ฅ์ ํตํด GitHub PAT ํ ํฐ์ ์ ๊ณตํด์ผ ํฉ๋๋ค.
--build-mode=<mode>
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ๋น๋ ๋ชจ๋์ ๋๋ค.
๋ถ์ ์ค์ธ ์ธ์ด์ ๋ฐ๋ผ ๋น๋ ๋ชจ๋ ์ ํ:
none
: ์๋ณธ ๋ฃจํธ๋ฅผ ๋น๋ํ์ง ์๊ณ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
C#, Java, JavaScript/TypeScript, Python ๋ฐ Ruby์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
autobuild
: ์๋ณธ ๋ฃจํธ๋ฅผ ์๋์ผ๋ก ๋น๋ํ๋ ค ์๋ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค. C/C++, C#, Go, Java/Kotlin ๋ฐ Swift์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
manual
: ์๋์ผ๋ก ์ง์ ํ ๋น๋ ๋ช
๋ น์ ์ฌ์ฉํด ์๋ณธ ๋ฃจํธ๋ฅผ ๋น๋ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค. C/C++, C#, Go, Java/Kotlin ๋ฐ Swift์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
--command
์(๋ฅผ) ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ, '--build-mode manual'์ ์ถ๊ฐ๋ก ์ง์ ํ์ง ์์๋ ๋ฉ๋๋ค.
v2.16.4
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-s, --source-root=<dir>
[๊ธฐ๋ณธ๊ฐ: .] ๋ฃจํธ ์์ค ์ฝ๋ ๋๋ ํฐ๋ฆฌ์ ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ฒดํฌ ์์ ๋ฃจํธ๊ฐ ๋ฉ๋๋ค. ํ์ผ ๋ด์ ํ์ผ์ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ณธ ์๋ณธ ํ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค ์ผ๋ถ ์ถ๋ ฅ ํ์์์๋ ํ์ผ์ด ์ด ๋๋ ํฐ๋ฆฌ์ ์๋ ๊ฒฝ๋ก๋ก ์ฐธ์กฐ๋ฉ๋๋ค.
-j, --threads=<num>
๊ฐ์ ธ์ค๊ธฐ ์์ ์ ๋ง์ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๊ณ ํธ์ถ๋ ๋น๋ ๋ช ๋ น์ ํํธ๋ก ์ ๋ฌํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ 1์ ๋๋ค. 0์ ์ ๋ฌํ์ฌ ์ปดํจํฐ์ ์ฝ์ด๋น ํ๋์ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ -_N_์ ์ ๋ฌํ์ฌ _N_๊ฐ์ ์ฝ์ด๋ฅผ ์ฌ์ฉํ์ง ์์ ์ํ๋ก ๋ ์ ์์ต๋๋ค(ํ๋ ์ด์์ ์ค๋ ๋๋ฅผ ๊ณ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ธ).
-M, --ram=<MB>
๊ฐ์ ธ์ค๊ธฐ ์์ ์ ๋ง์ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๊ณ ํธ์ถ๋ ๋น๋ ๋ช ๋ น์ ํํธ๋ก ์ ๋ฌํฉ๋๋ค.
-c, --command=<command>
์ปดํ์ผ๋ ์ธ์ด์ ๊ฒฝ์ฐ, ์์ค ์ฝ๋์์ ์ปดํ์ผ๋ฌ๋ฅผ ํธ์ถํ์ฌ ๋ถ์ํ๋๋ก ํ๋ ๋ช ๋ น์ ๋น๋ํฉ๋๋ค. ์ด๋ฌํ ๋ช ๋ น์ ์์ฑ๋ ์ฝ๋ ๋ฐ(๊ฒฝ์ฐ์ ๋ฐ๋ผ) ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ์ํ ์ ์๋ ๊ณ์ธก ํ๊ฒฝ์์ ์คํ๋ฉ๋๋ค.
๋น๋ ๋ช ๋ น์ด ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ, ๋ช ๋ น์ ์ ํํ ์ธ์ด ํฉ์ ์ถ๋ก ์ ๋ฐ๋ผ ์๋ณธ ํธ๋ฆฌ๋ฅผ ๋น๋ํ๋ ๋ฐฉ๋ฒ์ ์๋์ผ๋ก ํ์ ํ๋ ค๊ณ ์๋ํฉ๋๋ค.
์ฌ๋ฌ ์ธ์ด์ ์ผ๋ถ ์กฐํฉ์ ์ง์ ํ๋ ค๋ฉด ๋ช ์์ ๋น๋ ๋ช ๋ น์ด _ํ์_ํฉ๋๋ค.
--no-cleanup
[๊ณ ๊ธ] ์ข ๋ฃ ํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฆฌ๋ฅผ ํ์ํ์ง ์์ต๋๋ค. ๋๋ฒ๊น ์ฉ๋๋ก ์ ์ฉํฉ๋๋ค.
--no-pre-finalize
[๊ณ ๊ธ] ํ์ฑ CodeQL ์ถ์ถ๊ธฐ์์ ์ง์ ํ ์ฌ์ ์ข ๋ฃ ์คํฌ๋ฆฝํธ๋ฅผ ๊ฑด๋๋๋๋ค.
--[no-]skip-empty
[๊ณ ๊ธ] ๋น๋ ์ค์ ์์ค ์ฝ๋๊ฐ ํ์๋์ง ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋น์ด ์๋ ๊ฒฝ์ฐ, ์คํจํ๋ ๋์ ๊ฒฝ๊ณ ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ณ ์ ๋์ง ์์ ์ํ๋ก ๋จ์ ์์ต๋๋ค.
--[no-]linkage-aware-import
[๊ณ ๊ธ] codeql ๋ฐ์ดํฐ ์ธํธ ๊ฐ์ ธ์ค๊ธฐ๊ฐ ์ฐ๊ฒฐ ์ธ์ (๊ธฐ๋ณธ๊ฐ) ์ธ์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ์ ์ด ๋ถ๋ถ์ด ๋๋ฌด ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ ํธ์์ ์ด ์ต์ ์ ์ฌ์ฉํ์ง ์๋๋ก ์ค์ ํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ๋๋ฅผ ๋ฎ์ถ๋ ๋์ ์์ ์ ์งํํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
v2.15.3
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ธฐ์ค ๊ณ์ฐ ์ต์
--[no-]calculate-baseline
[๊ณ ๊ธ] ๋ถ์ ์ค์ธ ์ฝ๋์ ๋ํ ๊ธฐ์ค ์ ๋ณด๋ฅผ ๊ณ์ฐํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ถ๊ฐํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ณธ ๋ฃจํธ๊ฐ ํ์ผ ์์คํ ์ ๋ฃจํธ๊ฐ ์๋ ํ, ์ฌ์ฉํ๋๋ก ์ค์ ๋ฉ๋๋ค. ์ด ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ ์์คํ ์ ๋ฃจํธ์์๋ ๋์์ ์ฌ์ฉํ์ง ์๋๋ก ์ค์ ํ๊ฑฐ๋ ๊ฐ์ ๋ก ์ฌ์ฉํ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค.
--[no-]sublanguage-file-coverage
[GitHub.com ๋ฐ GitHub Enterprise Server v3.12.0 ์ด์ ์ ์ฉ] ํ์ ์ธ์ด ํ์ผ ์ ์ฉ ๋ฒ์ ์ ๋ณด๋ฅผ ์ฌ์ฉํฉ๋๋ค. C ๋ฐ C++, Java ๋ฐ Kotlin, JavaScript ๋ฐ TypeScript์ ๊ฐ์ CodeQL ์ถ์ถ๊ธฐ๋ฅผ ๊ณต์ ํ๋ ์ธ์ด์ ๋ํ ๋ณ๋์ ํ์ผ ์ ์ฉ ๋ฒ์ ์ ๋ณด๋ฅผ ๊ณ์ฐ, ํ์ ๋ฐ ๋ด๋ณด๋ ๋๋ค.
v2.15.2
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ถ์ถ๊ธฐ ์ ํ ์ต์
--search-path=<dir>[:<dir>...]
์ถ์ถ๊ธฐ ํฉ์ ์ฐพ์ ์ ์๋ ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก. ๋๋ ํฐ๋ฆฌ๋ ์ถ์ถ๊ธฐ ํฉ ์์ฒด ๋๋ ์ฆ์ ํ์ ๋๋ ํฐ๋ฆฌ๋ก ์ถ์ถ๊ธฐ๋ฅผ ํฌํจ ํ๋ ๋๋ ํฐ๋ฆฌ ์ ์์ต๋๋ค.
๊ฒฝ๋ก์ ์ฌ๋ ค ๋๋ ํฐ๋ฆฌ ํธ๋ฆฌ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ํด๋น ์์๋ ์ฐ์ ์์๋ฅผ ์ ์ํฉ๋๋ค. ๋์ ์ด๋ฆ์ด ๋๋ ํฐ๋ฆฌ ํธ๋ฆฌ ์ค ํ๋ ์ด์์์ ์ผ์นํ๋ ๊ฒฝ์ฐ ์ง์ ๋ ์ฒซ ๋ฒ์งธ ํธ๋ฆฌ๊ฐ ์ฐ์ ์ ์ผ๋ก ์ ์ฉ๋ฉ๋๋ค.
CodeQL ๋๊ตฌ ์ฒด์ธ ์์ฒด์ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋๋ ์ถ์ถ๊ธฐ๋ ํญ์ ์ฐพ์ ์ ์์ง๋ง ๋ณ๋๋ก ๋ถ์ฐ๋ ์ถ์ถ๊ธฐ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ, ์ด ์ต์
์ ์ ๊ณตํด์ผ ํฉ๋๋ค(์๋๋ฉด ์ฌ์ฉ์๋ณ ๊ตฌ์ฑ ํ์ผ์์ --search-path
์(๋ฅผ) ์ค์นํ๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค).
(์ฐธ๊ณ : Windows์์๋ ๊ฒฝ๋ก ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ;
์
๋๋ค.)
GitHub API๋ฅผ ํธ์ถํ์ฌ ์ธ์ด๋ฅผ ์๋์ผ๋ก ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ๊ตฌ์ฑํ๋ ์ต์ ์ ๋๋ค
-a, --github-auth-stdin
ํ์ค ์ ๋ ฅ์ ํตํด GitHub ์ฑ ํ ํฐ ๋๋ ๊ฐ์ธ์ฉ ์ก์ธ์ค ํ ํฐ์ ์๋ฝํฉ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด GITHUB_TOKEN ํ๊ฒฝ ๋ณ์๊ฐ ์ฌ์ ์๋ฉ๋๋ค.
-g, --github-url=<url>
์ฌ์ฉํ GitHub ์ธ์คํด์ค์ URL์ ๋๋ค. ์๋ต๋ ๊ฒฝ์ฐ CLI๋ ๊ฒ์ฌ ๊ฒฝ๋ก์์ ์ด์ ๋ํ ์๋ ๊ฐ์ง๋ฅผ ์๋ํ๋ฉฐ ๊ฐ์งํ ์ ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ https://github.com/์ ๋๋ค
ํจํค์ง ๊ด๋ฆฌ์ ๊ตฌ์ฑํ๋ ์ต์
--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
์ต์
์ ์ฌ์ฉํ์ฌ ์ธ์ฆํ ์ ์์ต๋๋ค.
ํ์ ์์ค ๋ฐ์ดํฐ ์ธํธ ์ ๋ฆฌ ์ต์
--max-disk-cache=<MB>
์ค๊ฐ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์ ๋ํด ๋์คํฌ ์บ์๊ฐ ์ฌ์ฉํ ์ ์๋ ์ต๋ ๊ณต๊ฐ์ ์ค์ ํฉ๋๋ค.
์ด ํฌ๊ธฐ๊ฐ ๋ช ์์ ์ผ๋ก ๊ตฌ์ฑ๋์ง ์์ ๊ฒฝ์ฐ ํ๊ฐ๊ธฐ๋ ๋ฐ์ดํฐ ์ธํธ์ ํฌ๊ธฐ์ ์ฟผ๋ฆฌ์ ๋ณต์ก์ฑ์ ๋ฐ๋ผ "ํฉ๋ฆฌ์ ์ธ" ์์ ์บ์ ๊ณต๊ฐ์ ์ฌ์ฉํ๋ ค๊ณ ํฉ๋๋ค. ์ด ๊ธฐ๋ณธ ์ฌ์ฉ๋๋ณด๋ค ๋์ ํ๋๋ฅผ ๋ช ์์ ์ผ๋ก ์ค์ ํ๋ฉด ์ถ๊ฐ ์บ์ฑ์ด ๊ฐ๋ฅํด์ง๋ฏ๋ก ์ดํ ์ฟผ๋ฆฌ์ ์๋๋ฅผ ๋์ผ ์ ์์ต๋๋ค.
--min-disk-free=<MB>
[๊ณ ๊ธ] ํ์ผ ์์คํ ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๋ชฉํ๋์ ์ค์ ํฉ๋๋ค.
--max-disk-cache
๊ฐ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ํ์ผ ์์คํ
์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ด ์ด ๊ฐ ์๋๋ก ๋จ์ด์ง๋ฉด ํ๊ฐ๊ธฐ๋ ๋์คํฌ ์บ์ ์ฌ์ฉ๋์ ์ค์ด๋ ค๊ณ ๋
ธ๋ ฅํฉ๋๋ค.
--min-disk-free-pct=<pct>
[๊ณ ๊ธ] ํ์ผ ์์คํ ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๋ชฉํ ๋น์จ์ ์ค์ ํฉ๋๋ค.
--max-disk-cache
๊ฐ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ํ์ผ ์์คํ
์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ด ์ด ๋ฐฑ๋ถ์จ ์๋๋ก ๋จ์ด์ง๋ฉด ํ๊ฐ๊ธฐ๋ ๋์คํฌ ์บ์ ์ฌ์ฉ๋์ ์ค์ด๋ ค๊ณ ๋
ธ๋ ฅํฉ๋๋ค.
--cache-cleanup=<mode>
์บ์๋ฅผ ํธ๋ฆฌ๋ฐํ๋ ๋ฐฉ๋ฒ์ ์ ๊ทน์ ์ผ๋ก ์ ํํฉ๋๋ค. ๋ค์์ ์ ํํ ์ ์์ต๋๋ค.
clear
: ์๋ก ์ถ์ถ๋ ๋ฐ์ดํฐ ์ธํธ์ ์ํ๋ก ํธ๋ฆฌ๋ฐํ์ฌ ์ ์ฒด ์บ์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
trim
(๊ธฐ๋ณธ๊ฐ): ๋ช
์์ ์ผ๋ก "์บ์๋" ์กฐ๊ฑด์๋ฅผ ์ ์ธํ ๋ชจ๋ ํญ๋ชฉ์ ํธ๋ฆฌ๋ฐํฉ๋๋ค.
fit
: ๋์คํฌ ์บ์์ ๋ํด ์ ์๋ ํฌ๊ธฐ ์ ํ์ด ๊ด์ฐฐ๋์ด ํ์ํ ๋งํผ ์ค๊ฐ์ ์ญ์ ํด์ผ ํฉ๋๋ค.
overlay
: ์ค๋ฒ๋ ์ด๋ฅผ ํ๊ฐํ ๋ ์ ์ฉํ ๋ฐ์ดํฐ๋ง ์๋ผ๋
๋๋ค.
--cleanup-upgrade-backups
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทธ๋ ์ด๋๋ก ์ธํด ๋ฐ์ํ๋ ๋ฐฑ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ญ์ ํฉ๋๋ค.
์ถ์ ์ต์
--no-tracing
[๊ณ ๊ธ] ์ง์ ๋ ๋ช ๋ น์ ์ถ์ ํ์ง ๋ง๊ณ ํ์ํ ๋ชจ๋ ํ์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ์์ฑํฉ๋๋ค.
--extra-tracing-config=<tracing-config.lua>
[๊ณ ๊ธ] ์ถ์ ๊ธฐ ๊ตฌ์ฑ ํ์ผ์ ๊ฒฝ๋ก์ ๋๋ค. ๋น๋ ์ถ์ ๊ธฐ์ ๋์์ ์์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋น๋ ๋ช ๋ น์ ์ผ๋ถ๋ก ์คํ๋๋ ์ปดํ์ผ๋ฌ ํ๋ก์ธ์ค๋ฅผ ์ ํํ๊ณ ๋ค๋ฅธ ๋๊ตฌ์ ์คํ์ ํธ๋ฆฌ๊ฑฐํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ถ์ถ๊ธฐ๋ ๋๋ถ๋ถ์ ์ํฉ์์ ์๋ํด์ผ ํ๋ ๊ธฐ๋ณธ ์ถ์ ๊ธฐ ๊ตฌ์ฑ ํ์ผ์ ์ ๊ณตํฉ๋๋ค.
๋น๋ ๋ช ๋ น ์ฌ์ฉ์ ์ง์ ์ต์
--working-dir=<dir>
[๊ณ ๊ธ] ์ง์ ๋ ๋ช
๋ น์ ์คํํด์ผ ํ๋ ๋๋ ํฐ๋ฆฌ์
๋๋ค. ์ด ์ธ์๊ฐ ์ ๊ณต๋์ง ์์ผ๋ฉด, ๋ช
๋ น์ด codeql ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ์ ์ ๋ฌ๋ --source-root
๊ฐ(์๋ ๊ฒฝ์ฐ)์ผ๋ก ์คํ๋ฉ๋๋ค. --source-root
์ธ์๊ฐ ์ ๊ณต๋์ง ์์ผ๋ฉด ๋ช
๋ น์ด ํ์ฌ ์์
๋๋ ํฐ๋ฆฌ์์ ์คํ๋ฉ๋๋ค.
--no-run-unnecessary-builds
[๊ณ ๊ธ] ์์ฑ ์ค์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋น๋ ํ๋ก์ธ์ค ์ถ์ ์ ์์กดํ๋ ์ถ์ถ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ง ์ง์ ๋ ๋น๋ ๋ช ๋ น์ ์คํํฉ๋๋ค. ์ด ์ต์ ์ ์ง์ ํ์ง ์์ผ๋ฉด ๋ค๋ฅธ ์ด์ ๋ก ์ธํด ๋ถ์์ฉ์ด ํ์ํ๋ค๋ ๊ฐ์ ํ์ CodeQL์ด ํ์ํ์ง ์์ ๊ฒฝ์ฐ์๋ ๋ช ๋ น์ด ์คํ๋ฉ๋๋ค.
์ถ์ถ๊ธฐ ๋์ ์ ์ด ์ต์
-O, --extractor-option=<extractor-option-name=value>
CodeQL ์ถ์ถ๊ธฐ์ ๋ํ ์ต์
์ ์ค์ ํฉ๋๋ค. extractor-option-name
์(๋) extractor_name.group1.group2.option_name ๋๋ group1.group2.option_name์ ํ์์ด์ด์ผ ํฉ๋๋ค. extractor_option_name
์ด(๊ฐ) ์ถ์ถ๊ธฐ ์ด๋ฆ์ผ๋ก ์์ํ๋ ๊ฒฝ์ฐ, ํ์๋ ์ถ์ถ๊ธฐ๋ group1.group2.option_name ์ต์
์ ์ ์ธํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ต์
group1.group2.option_name์ ์ ์ธํ๋ ๋ชจ๋ ์ถ์ถ๊ธฐ์์ ์ต์
์ ์ค์ ํฉ๋๋ค. value
์(๋) ์ค์ ํฌํจํ์ง ์๋ ๋ชจ๋ ๋ฌธ์์ด์ผ ์ ์์ต๋๋ค.
์ด ๋ช
๋ น์ค ์ต์
์ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์ถ์ถ๊ธฐ ์ต์
์ ์ค์ ํ ์ ์์ต๋๋ค. ๋์ผํ ์ถ์ถ๊ธฐ ์ต์
์ ์ฌ๋ฌ ๊ฐ์ ์ ๊ณตํ๋ ๊ฒฝ์ฐ, ๋์์ ์ถ์ถ๊ธฐ ์ต์
์ด ์์ํ๋ ํ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๋ฌธ์์ด ์ต์
์ ์ ๊ณต๋ ๋ง์ง๋ง ๊ฐ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐฐ์ด ์ต์
์ ์ ๊ณต๋ ๋ชจ๋ ๊ฐ์ ์์๋๋ก ์ฌ์ฉํฉ๋๋ค. ์ด ๋ช
๋ น์ค ์ต์
์ ์ฌ์ฉํ์ฌ ์ง์ ๋ ์ถ์ถ๊ธฐ ์ต์
์ ์ถ์ถ๊ธฐ ์ต์
์ ํตํด --extractor-options-file
์ด(๊ฐ) ์ ๊ณต๋ ํ์ ์ฒ๋ฆฌ๋ฉ๋๋ค.
codeql ๋ฐ์ดํฐ๋ฒ ์ด์ค init ๋๋ codeql database begin-tracing
์ ์ ๋ฌ๋๋ฉด ์ต์
์ด ๊ฐ์ ์ถ์ ํ๊ฒฝ์๋ง ์ ์ฉ๋ฉ๋๋ค. ์ํฌํ๋ก์์ codeql ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถ์ ๋ช
๋ น์ ํธ์ถํ๋ ๊ฒฝ์ฐ, ์ํ๋ ๊ฒฝ์ฐ์ ์ต์
๋ ์ ๋ฌํด์ผ ํฉ๋๋ค.
๊ฐ ์ถ์ถ๊ธฐ์์ ์ ์ธํ ์ต์ ์ ๋์ดํ๋ ๋ฐฉ๋ฒ์ ํฌํจํ์ฌ CodeQL ์ถ์ถ๊ธฐ ์ต์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ https://codeql.github.com/docs/codeql-cli/extractor-options์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
--extractor-options-file=<extractor-options-bundle-file>
์ถ์ถ๊ธฐ ์ต์
๋ฒ๋ค ํ์ผ์ ์ง์ ํฉ๋๋ค. ์ถ์ถ๊ธฐ ์ต์
๋ฒ๋ค ํ์ผ์ ์ถ์ถ๊ธฐ ์ต์
์ ์ค์ ํ๋ JSON ํ์ผ(ํ์ฅ๋ช
.json
) ๋๋ YAML ํ์ผ(ํ์ฅ๋ช
.yaml
๋๋ .yml
)์
๋๋ค. ํ์ผ์๋ ์ต์์ ๋งต ํค 'extractor'๊ฐ ์์ด์ผ ํ๋ฉฐ, ๊ทธ ์๋์๋ ์ถ์ถ๊ธฐ ์ด๋ฆ์ด ๋ ๋ฒ์งธ ์์ค ๋งต ํค๋ก ์ง์ ๋์ด์ผ ํฉ๋๋ค. ์ง๋์ ์ถ๊ฐ ์์ค์ ์ค์ฒฉ๋ ์ถ์ถ๊ธฐ ๊ทธ๋ฃน์ ๋ํ๋ด๋ฉฐ ๋ฌธ์์ด ๋ฐ ๋ฐฐ์ด ์ต์
์ ๋ฌธ์์ด ๋ฐ ๋ฐฐ์ด ๊ฐ์ด ์๋ ์ง๋ ํญ๋ชฉ์
๋๋ค.
์ถ์ถ๊ธฐ ์ต์
๋ฒ๋ค ํ์ผ์ ์ง์ ๋ ์์๋๋ก ์ฝ์ต๋๋ค.
๋ค๋ฅธ ์ถ์ถ๊ธฐ ์ต์
๋ฒ๋ค ํ์ผ์์ ๋์ผํ ์ถ์ถ๊ธฐ ์ต์
์ ์ง์ ํ๋ ๊ฒฝ์ฐ, ๋์์ ์ถ์ถ๊ธฐ ์ต์
์ด ์์ํ๋ ํ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๋ฌธ์์ด ์ต์
์ ์ ๊ณต๋ ๋ง์ง๋ง ๊ฐ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐฐ์ด ์ต์
์ ์ ๊ณต๋ ๋ชจ๋ ๊ฐ์ ์์๋๋ก ์ฌ์ฉํฉ๋๋ค. ์ด ๋ช
๋ น์ค ์ต์
์ ์ฌ์ฉํ์ฌ ์ง์ ๋ ์ถ์ถ๊ธฐ ์ต์
์ ์ถ์ถ๊ธฐ ์ต์
์ ํตํด --extractor-option
์ด(๊ฐ) ์ ๊ณต๋๊ธฐ ์ ์ ์ฒ๋ฆฌ๋ฉ๋๋ค.
codeql ๋ฐ์ดํฐ๋ฒ ์ด์ค init ๋๋ codeql database begin-tracing
์ ์ ๋ฌ๋๋ฉด ์ต์
์ด ๊ฐ์ ์ถ์ ํ๊ฒฝ์๋ง ์ ์ฉ๋ฉ๋๋ค. ์ํฌํ๋ก์์ codeql ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถ์ ๋ช
๋ น์ ํธ์ถํ๋ ๊ฒฝ์ฐ, ์ํ๋ ๊ฒฝ์ฐ์ ์ต์
๋ ์ ๋ฌํด์ผ ํฉ๋๋ค.
๊ฐ ์ถ์ถ๊ธฐ์์ ์ ์ธํ ์ต์ ์ ๋์ดํ๋ ๋ฐฉ๋ฒ์ ํฌํจํ์ฌ CodeQL ์ถ์ถ๊ธฐ ์ต์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ https://codeql.github.com/docs/codeql-cli/extractor-options์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ผ๋ฐ ์ต์
-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
๋ถํฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.