์์ฒด ํธ์คํธ ์คํ๊ธฐ ํ๋ก๋น์
์ฐธ๊ณ ํญ๋ชฉ
- ๊ธฐ์ ์์ GitHub Actions๊ณผ(์) ํจ๊ป GitHub ํธ์คํธ ์คํ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ GitHub.com์(๋ฅผ) ํตํด code scanning ๊ตฌ์ฑ์ผ๋ก ์ง์ ์งํํ์ธ์. ์ฝ๋ ์ค์บ์ ์ํ ๊ธฐ๋ณธ ์ค์ ๊ตฌ์ฑ ๋ฐ ๋๊ท๋ชจ ์ฝ๋ ์ค์บ์ ์ํ ๊ธฐ๋ณธ ์ค์ ๊ตฌ์ฑ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- Swift ๋ถ์์ ์ ์ธํ๊ณ ์ด์ ๋ํ ๋ฌ๋์์ ๊ธฐ๋ณธ ์ค์ ์ ์คํํ ์ ์์ต๋๋ค. ๋ํ ์คํ๊ธฐ ๋ฐ ๊ธฐ๋ณธ ์ค์ ์ ๋ํด ๋ํ ๋ฌ๋ ๊ตฌ์ฑํ๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
GitHub๋ GitHub Actions ์ํฌํ๋ก๋ฅผ ์ฌ์ฉํ์ฌ code scanning์ ์คํํ ์ ์์ต๋๋ค. ๋จผ์ ์ฌ์ฉ์ ํ๊ฒฝ์์ ์์ฒด ํธ์คํธ GitHub Actions ์คํ๊ธฐ๋ฅผ ํ๋ ์ด์ ํ๋ก๋น์ ๋ํด์ผ ํฉ๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ, ์กฐ์ง ๋๋ ์ํฐํ๋ผ์ด์ฆ ๊ณ์ ์์ค์์ ์์ฒด ํธ์คํธ ์คํ๊ธฐ๋ฅผ ํ๋ก๋น์ ๋ํ ์ ์์ต๋๋ค. ์์ฒด ํธ์คํ ์คํ๊ธฐ ๋ฐ ์์ฒด ํธ์คํธํ ์คํ๊ธฐ ์ถ๊ฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
CodeQL ๋ถ์์ ์ํด ์์ฒด ํธ์คํธ๋ ์คํ๊ธฐ๋ฅผ ํ๋ก๋น์ ํ๋ ๊ฒฝ์ฐ, ์คํ๊ธฐ๋ CodeQL ์ง์ ์ด์ ์ฒด์ ๋ฒ์ ๋ฐ CPU ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. CodeQL ์์คํ ์๊ตฌ ์ฌํญ์ ์ฐธ์กฐํ์ธ์.
code scanning์ ๊ธฐ๋ณธ ์ค์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์์ฒด ํธ์คํ
์คํ๊ธฐ๋ฅผ code-scanning ๋ ์ด๋ธ๋ก ํ ๋นํ๊ฑฐ๋ ๋๋ ์ ํ์ ์ผ๋ก ์ฌ์ฉ์ ์ง์ ๋ ์ด๋ธ์ ์ค์ ํ์ฌ ๊ฐ๋ณ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์๋ก ๋ค๋ฅธ ์คํ๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. ์ฝ๋ ์ค์บ์ ์ํ ๊ธฐ๋ณธ ์ค์ ๊ตฌ์ฑ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ปดํ์ผ๋ ์ธ์ด์ ์ฝ๋ ๊ฒ์ ๋ถ์์ ๊ธฐ๋ณธ ์ค์ ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ปดํ์ผ๋ ์ธ์ด์ ๋ํ CodeQL ์ฝ๋ ๊ฒ์ฌํ๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
CodeQL ์์ ์ ์คํํ๋ ๋ฐ ์ฌ์ฉํ๋ ์์ฒด ํธ์คํธ ์คํ๊ธฐ์์ Git์ด PATH ๋ณ์์ ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
CodeQL code scanning์(๋ฅผ) ์ฌ์ฉํ์ฌ ์ํฐํ๋ผ์ด์ฆ์์ Python์ผ๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ๋ถ์ํ๋ ๊ฒฝ์ฐ, ์์ฒด ํธ์คํ ์คํ๊ธฐ์ Python 3๊ฐ ์ค์น๋์ด ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.