Azure DevOps๋ ์์ค ์ฝ๋ ๊ด๋ฆฌ, ํ์ดํ๋ผ์ธ ์คํ, ๋ณด์ ๊ฐํ ๋ฐ ๋ฆด๋ฆฌ์ค ๊ด๋ฆฌ๋ฅผ ๋จ์ผ ์ด์ ํ๊ฒฝ์ ํตํฉํ์ฌ ์ํฐํ๋ผ์ด์ฆ ์ํํธ์จ์ด ๋ฐฐํฌ๋ฅผ ์ํ ํต์ฌ ์ ์ด ํ๋ซํผ์ผ๋ก ์๋ฆฌ ์ก์์ต๋๋ค. ์ด๋ฌํ ๋งฅ๋ฝ์์ ์ ์ ๋ถ์์ ๋ ์ด์ ๋ถ์์ ์ธ ํ์ง ๊ฒ์ฌ๊ฐ ์๋๋ผ ๋ฐฐํฌ ๋ณด์ฆ์ ๊ตฌ์กฐ์ ๊ตฌ์ฑ ์์๋ก ๊ธฐ๋ฅํฉ๋๋ค. ์๋ฐฑ ๊ฐ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ค์ํ ์ธ์ด ์คํ์ ์์ฐ๋ฅด๋ ์ต์ Azure ํ๊ฒฝ์ ๊ท๋ชจ๋ ์ ์ ๋ถ์์ด ๊ฒฐ์ ์ฑ, ๋ฐ๋ณต์ฑ ๋ฐ ์ฆ๊ฑฐ ์ ๋ขฐ์ฑ์ ๋ํ ์๊ฒฉํ ์ ์ฝ ์กฐ๊ฑด ํ์์ ์๋ํ๋๋ก ์๊ตฌํฉ๋๋ค.
์ํคํ ์ฒ์์ ์๋ ฅ์ ์ค์ ์ง์ค์ ๊ฑฐ๋ฒ๋์ค์ ๋ถ์ฐํ ์คํ ๊ฐ์ ์ํธ ์์ฉ์์ ๋ฐ์ํฉ๋๋ค. Azure DevOps ํ์ดํ๋ผ์ธ์ ๊ท์ ์ค์๋ฅผ ์ํด ํ ํ๋ฆฟํ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ง, ์ค์ ์คํ์ ๋ค์ํ ์์ด์ ํธ ํ, ๋น๋ ์ ๋ต ๋ฐ ์ข ์์ฑ ํด๊ฒฐ ๋ชจ๋ธ์์ ์ด๋ฃจ์ด์ง๋๋ค. ๋ฐ๋ผ์ ์ ์ ๋ถ์ ๋๊ตฌ๋ ํ๊ฒฝ์ ๋ณ๋์ฑ์๋ ๋ถ๊ตฌํ๊ณ ์์ ์ ์ธ ์ ํธ๋ฅผ ์์ฑํด์ผ ํ๋ฉฐ, ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฒ์ดํ ๋ฉ์ปค๋์ฆ์ ๋ํ ์ ๋ขฐ๋ฅผ ํผ์ํ ์ํ์ด ์์ต๋๋ค. ์ด๋ฌํ ๊ธด์ฅ์ ์กฐ์ง์ด ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ ๋ฐ ๊ธฐ์ IT ์ํ ๊ด๋ฆฌ ์ ๊ด๋ จ๋ ๊ด๋ฒ์ํ ๋ฐฐํฌ ์ ์ด์ ์ค์บ ๊ฒฐ๊ณผ๋ฅผ ์ผ์น์ํค๋ ค๊ณ ํ ๋ ๋์ฑ ์ฆํญ๋ฉ๋๋ค.
ํ๋ํ ์ํ ๋ช ํ์ฑ
Smart TS XL์ ์ค์บ๋ ์ถ๋ ฅ์ ๋์ ๋ฐ ์ข ์์ฑ ์ปจํ ์คํธ์ ๊ธฐ๋ฐํ์ฌ Azure DevOps ๊ฒ์ดํธ ๊ฒฐ์ ์ ๊ฐ์ ํฉ๋๋ค.
์ง๊ธ ํ์์ํฐํ๋ผ์ด์ฆ ๊ท๋ชจ์์ ๊ฐ์ฅ ํฐ ์ํ์ ๋ฐ๊ฒฌ ์ฌํญ์ด ์๋ ๊ฒ ์์ฒด๊ฐ ์๋๋ผ ์คํ ์ปจํ ์คํธ ๋ถ์กฑ์ผ๋ก ์ธํด ๋ฐ๊ฒฌ ์ฌํญ์ ์๋ชป ํด์ํ๋ ๊ฒ์ ๋๋ค. ํ์ผ ์์ค ๋๋ ๊ท์น ์์ค์ ๋ถ์ ๊ฒฐ๊ณผ๋ ํ์ง๋ ๋ฌธ์ ๊ฐ ์คํ ๊ฐ๋ฅํ ๊ฒฝ๋ก์์ ์๋์ง, ์์ ์ ์ด์ ์ํด ๋ณดํธ๋๋์ง, ๋๋ ์ฌ๋ฌ ์๋น์ค์์ ์ฌ์ฉํ๋ ๊ณต์ ๊ตฌ์ฑ ์์๋ฅผ ํตํด ์ ํ๋๋์ง ์ฌ๋ถ๋ฅผ ์ ๋๋ก ๋ฐ์ํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ฌํ ์ปจํ ์คํธ๊ฐ ์์ผ๋ฉด ์ ์ ๋ถ์์ ์ฐ์ ์์ ์ค์ ์ ์๊ณกํ์ฌ ์ด์์์ ๋ง์ฐฐ์ ๊ฐ์ค์ํค๊ฑฐ๋ ์ ์ฌ์ ์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋์ง ์๊ณ ์ง์๋๋๋ก ๋ฐฉ์นํ ์ ์์ผ๋ฉฐ, ์ด๋ ์ํํธ์จ์ด ๊ด๋ฆฌ์ ๋ณต์ก์ฑ ๊ณผ ๋ฐ์ ํ ๊ด๋ จ์ด ์์ต๋๋ค.
๋ฐ๋ผ์ Azure DevOps์ฉ ์ ์ ๋ถ์ ๋๊ตฌ๋ฅผ ํ๊ฐํ๋ ค๋ฉด ๊ธฐ๋ฅ ์ฒดํฌ๋ฆฌ์คํธ ์ค์ฌ์์ ์คํ ๋์ ์ค์ฌ์ผ๋ก ๊ด์ ์ ์ ํํด์ผ ํฉ๋๋ค. ํต์ฌ ์ง๋ฌธ์ ๋ถ์์ด ํ ๋ฆฌํ์คํธ ์ํฌํ๋ก์ ์ด๋ป๊ฒ ํตํฉ๋๋์ง, ๊ฒฐ๊ณผ๊ฐ ์ด๋ป๊ฒ ์ ๊ทํ๋๊ณ ๋ฆด๋ฆฌ์ค ์ฆ๊ฑฐ๋ก ์ด๋ป๊ฒ ๋ณด์กด๋๋์ง, ๊ทธ๋ฆฌ๊ณ ๋ฐ๊ฒฌ ์ฌํญ์ ์ข ์์ฑ ๊ตฌ์กฐ ๋ฐ ๋ฐฐํฌ ์ํ๊ณผ ์ด๋ป๊ฒ ํจ๊ณผ์ ์ผ๋ก ์ฐ๊ด์ํฌ ์ ์๋์ง์ ์์ต๋๋ค. ์คํ ์ค์ฌ ํ๊ฒฝ์์ ์ ์ ๋ถ์์ ์ฝ๋ ์ค์บ๋ณด๋ค๋ ๊ท๋ชจ, ๋ณ๊ฒฝ ์๋ ๋ฐ ๊ฑฐ๋ฒ๋์ค ์๋ ฅ ํ์์ ์ ๋ขฐํ ์ ์๋ ์์ฌ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ๋ฐ ๋ ์ค์ ์ ๋๊ฒ ๋ฉ๋๋ค.
Azure DevOps ํ๊ฒฝ์ Smart TS XL: ๋๊ท๋ชจ ์ ์ ๋ถ์์ ์ํ ์คํ ์ธ์ ์ธ์ฌ์ดํธ
์ํฐํ๋ผ์ด์ฆ Azure DevOps ์กฐ์ง์ ์ ์ ๋ถ์์ ํจ๊ณผ๊ฐ ๊ท์น ํ์ง ๋๋ฌธ์ด ์๋๋ผ, ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ํด์ํ๋ ๋ฐ ํ์ํ ์์คํ ์ ๋งฅ๋ฝ์ด ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ ์ ํ๋๋ค๋ ์ฌ์ค์ ์ ์ ๋ ๋ง์ด ๋ฐ๊ฒฌํ๊ณ ์์ต๋๋ค. Smart TS XL์ ์คํ ๋ฐ ์ข ์์ฑ ์ธ์ฌ์ดํธ ๋ ์ด์ด ์ญํ ์ ํจ์ผ๋ก์จ ์ด๋ฌํ ๊ฒฉ์ฐจ๋ฅผ ํด์ํ๊ณ , ๋๊ท๋ชจ ๋ฐฐํฌ ํ๊ฒฝ ์ ๋ฐ์ ๊ฑธ์ณ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ฉ, ์ฐ์ ์์ ์ง์ ๋ฐ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ ์ฌ๊ตฌ์ฑํฉ๋๋ค. Smart TS XL์ ๊ฐ์น๋ ๊ธฐ์กด SAST ๋๊ตฌ๋ฅผ ๋์ฒดํ๋ ๋ฐ ์๋ ๊ฒ์ด ์๋๋ผ, ์ํคํ ํธ, ํ๋ซํผ ํ ๋ฐ ์ํ ๊ด๋ฆฌ์๊ฐ ์ฌ์ฉํ๋ ์์ฌ ๊ฒฐ์ ํ๊ฒฝ์ ๋ณํ์ํค๋ ๋ฐ ์์ต๋๋ค.
์๋ฏธ ์๋ SAST ์ฐ์ ์์ ์ง์ ์ ์ํ ํ์ ์กฐ๊ฑด์ผ๋ก์ ์คํ ๊ฒฝ๋ก ์ธ์
Azure DevOps์ ํตํฉ๋ ์ ์ ๋ถ์ ๋๊ตฌ๋ ์ผ๋ฐ์ ์ผ๋ก ํ์ผ, ํจ์ ๋๋ ๊ท์น ๋ฒ์์์ ์๋ํฉ๋๋ค. ์ด๋ฌํ ์ธ๋ถํ ์์ค์ ๋ก์ปฌ ๊ฒฐํจ ๊ฐ์ง์๋ ์ถฉ๋ถํ์ง๋ง, ๋ฐ๊ฒฌ๋ ์ค๋ฅ๊ฐ ํ๋ก๋์ ์คํ์์ ๋๋ฌ ๊ฐ๋ฅํ์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋ฐฐํฌ ๊ฒฐ์ ์ด ์ข์ฐ๋๋ ๊ฒฝ์ฐ์๋ ๋ถ์ถฉ๋ถํด์ง๋๋ค. Smart TS XL์ ์คํ ๊ฒฝ๋ก ์ธ์์ ๋์ ํ์ฌ ๊ตฌ๋ฌธ์ ๊ทผ์ ์ฑ์ด ์๋ ์ค์ ์ ์ด ํ๋ฆ์ ๊ด์ ์์ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ํด์ํ ์ ์๋๋ก ํฉ๋๋ค.
์ค์ Azure DevOps ์๋๋ฆฌ์ค์์ ์ด ๊ธฐ๋ฅ์ ํ ๋ฆฌํ์คํธ ๊ฒ์ดํ ๋ฐ ๋ฆด๋ฆฌ์ค ์น์ธ ์ค์ ๊ฐ์ฅ ์ค์ํฉ๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์ธํด ์ ์ ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ๋ ์ฝ๋๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ์์ ๋ ์ ์์ง๋ง, ์ด๋ฌํ ๊ฒฝ๊ณ ๋ ๋ ์ด์ ํธ์ถ๋์ง ์๋ ๊ฒฝ๋ก, ๋ ๊ฑฐ์ ๋ถ๊ธฐ ๋๋ ์กฐ๊ฑด๋ถ ํ๋ฆ์ ์กด์ฌํ ์ ์์ต๋๋ค. ์คํ ์ธ์ฌ์ดํธ๊ฐ ์์ผ๋ฉด ํ์ดํ๋ผ์ธ์ ๋ชจ๋ ๊ฒฐ๊ณผ๋ฅผ ๋์ผํ๊ฒ ์ค์ํ๊ฒ ์ทจ๊ธํ์ฌ ๊ฒ์ดํธ ์คํจ ๋ฐ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ฆ๊ฐ์ํต๋๋ค.
Smart TS XL์ ์ง์ ์ , ์กฐ๊ฑด ๋ถ๊ธฐ ๋ฐ ํ์ ํธ์ถ์ ํฌํจํ์ฌ ์์คํ ๋ด์์ ์คํ ๊ฒฝ๋ก๊ฐ ์ด๋ป๊ฒ ํ๋ฅด๋์ง๋ฅผ ๋ณด์ฌ์ค์ผ๋ก์จ ์๋ก์ด ํ๊ฐ ๋ชจ๋ธ์ ์ ์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฒํ ๋์ ๋ณ๊ฒฝ ์ฌํญ์ ๋งฅ๋ฝ์ ๋ฐ๋ผ ์คํ ๊ด๋ จ์ฑ ์ฌ๋ถ๋ก ์ฌ์ ์ํ ์ ์์ต๋๋ค. ๊ธฐ์ ์ฌ์ฉ์์๊ฒ ์์ด ์ด๋ฌํ ๊ตฌ๋ถ์ ์๋น์ค ์ ๊ณต ์ฒ๋ฆฌ๋๊ณผ ์ํ ๊ด๋ฆฌ ์์ค์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
์คํ ์ค์ฌ์ ์ธ ์ฃผ์ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ ์ด ํ๋ฆ ๋ถ์์ ๊ธฐ๋ฐ์ผ๋ก ๋๋ฌ ๊ฐ๋ฅํ ๊ฒฐ๊ณผ์ ๋๋ฌ ๋ถ๊ฐ๋ฅํ ๊ฒฐ๊ณผ๋ฅผ ์๋ณํฉ๋๋ค.
- ์ผ๊ด ์ฒ๋ฆฌ ์ ์ฉ, ๊ด๋ฆฌ์ฉ ๋ฐ ๊ณ ๊ฐ ๋๋ฉด ์คํ ๊ฒฝ๋ก ๊ฐ์ ์ฐจ์ด์
- SAST ์ฌ๊ฐ๋์ ์ด์ ์ํฅ ๊ฐ์ ์ฐ๊ณ์ฑ ๊ฐ์
- ๋นํ์ฑํ๋๊ฑฐ๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๋ ผ๋ฆฌ ๊ฒฝ๋ก์ ๋ํ ๋ฐ๊ฒฌ์ผ๋ก ์ธํ ์๋ชป๋ ๊ฒ์ดํ ๋ฐ์๋ฅ ๊ฐ์
ํ๋ซํผ ์์ ์์ ์ค๊ณ์์๊ฒ ์์ด ์คํ ๊ฒฝ๋ก ์ธ์์ ์ ์ ๋ถ์์ ๋จ์ํ ๊ท์ ์ค์ ์ ํธ๊ฐ ์๋ ์ ๋ฐํ ๋๊ตฌ๋ก ๋ฐ๊ฟ์ค๋๋ค.
์ ์ฅ์ ๊ฐ ๋ฐ ํ ๊ฐ ์ํ ๊ฐ์์ฑ์ ์ํ ์ข ์์ฑ ํ๋ฉด ๋งคํ
Azure DevOps ์กฐ์ง์ ์ข ์ข ์ฌ๋ฌ ๋ฆฌํฌ์งํ ๋ฆฌ, ํ ๋ฐ ํ์ดํ๋ผ์ธ์ ์์ ๊ถ์ ๋ถ์ฐํ์ฌ ๊ท๋ชจ๋ฅผ ํ์ฅํฉ๋๋ค. ์ ์ ๋ถ์ ๋๊ตฌ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฆฌํฌ์งํ ๋ฆฌ ๊ฒฝ๊ณ ๋ด์์ ์๋ํ๋ฏ๋ก ๊ณต์ ๊ตฌ์ฑ ์์์์ ๋ฐ๊ฒฌ๋ ๋ด์ฉ์ด ํ์ ๊ตฌ์ฑ ์์์ ๋ฏธ์น๋ ์ํฅ์ ํ์ ํ๊ธฐ ์ด๋ ต์ต๋๋ค. Smart TS XL์ ์ฝ๋ ๋จ์๊ฐ ๋ ๋์ ์์คํ ๋์์ ์ด๋ป๊ฒ ๊ด์ฌํ๋์ง ๋ณด์ฌ์ฃผ๋ ์ข ์์ฑ ํ๋ฉด ๋งต์ ๊ตฌ์ถํ์ฌ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํตํฉ ์๋น์ค ๋๋ ๊ณตํต ๋ฐ์ดํฐ ์ก์ธ์ค ๊ณ์ธต์ ์์กดํ๋ ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์ ํนํ ์ค์ํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑ ์์์ ์ทจ์ฝ์ ์ด๋ ๊ฒฐํจ์ ํด๋น ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์ ์, ์คํ ๊ฒฝ๋ก, ๊ทธ๋ฆฌ๊ณ ํฅํ ๋ฆด๋ฆฌ์ค์ ํฌํจ๋ ์๋น์ค์ ๋ฐ๋ผ ๋น๋์นญ์ ์ธ ์ํ์ ์ด๋ํฉ๋๋ค.
Smart TS XL์ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์ ์ ๋ถ์ ์ถ๋ ฅ์ ์ข ์์ฑ ์ธ์ ํด์์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- ์ํฅ์ ๋ฐ๋ ์ฝ๋์ ์์ ๋ฐ ํ์ ์๋น์
- ๊ณต์ ๋ชจ๋์ ํฌ์ธ ๋ฐ ํฌ์์ ํน์ฑ
- ๋จ์ผ ์ ์ฅ์ ์ค์บ๋๋ก๋ ๊ฐ์งํ ์ ์๋ ์ ์ฅ์ ๊ฐ ์ฐ๊ฒฐ
- ์ข ์์ฑ์ด ํ์ฑํ๋๋ ์คํ ์ปจํ ์คํธ
์ด์์ ์ธ ๊ด์ ์์ ๋ณผ ๋, ์ด๋ ๋ฌธ์ ํด๊ฒฐํ์ด ์ฌ๊ฐ๋ ๋ฑ๊ธ๋ฟ๋ง ์๋๋ผ ์ํฅ ๋ฒ์๊น์ง ๊ณ ๋ คํ์ฌ ์ฐ์ ์์๋ฅผ ์ ํ ์ ์๋๋ก ํด์ค๋๋ค. ์ฐ๊ฒฐ์ฑ์ด ๋์ ๊ตฌ์ฑ ์์์์ ๋ฐ์ํ๋ ์ค๊ฐ ์ฌ๊ฐ๋ ๋ฌธ์ ๋ ์ํฅ ๋ฒ์๊ฐ ๋ฎ์ ๊ฒฝ๋ก์ ๊ตญํ๋ ์ฌ๊ฐ๋ ๋์ ๋ฌธ์ ๋ณด๋ค ๋ ์ฆ๊ฐ์ ์ธ ์กฐ์น๊ฐ ํ์ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์์กด์ฑ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ฐ์ ์์ ์ง์ ์ ๋ฌธ์ ํด๊ฒฐ ํ๋ก์ธ์ค๋ฅผ ์์ ํํ๊ณ ๊ณผ์ ๋์๊ณผ ๊ณผ์ ๋์ ์ฌ์ด์ ๋ณ๋์ ์ค์ฌ์ค๋๋ค.
Azure ํ์ดํ๋ผ์ธ ๋ด ์ ์ ๋ถ์ ์ ํธ์ ๋๊ตฌ ๊ฐ ํฉ๋ฆฌํ
์ํฐํ๋ผ์ด์ฆ Azure DevOps ํ์ดํ๋ผ์ธ์ ์ฝ๋ ํ์ง, ๋ณด์, ๊ตฌ์ฑ ๋ฐ ์ธํ๋ผ ์ํฐํฉํธ๋ฅผ ํฌ๊ดํ๋ ์ฌ๋ฌ ๋ถ์ ๋๊ตฌ๋ฅผ ๋ณ๋ ฌ๋ก ์คํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ฐ ๋๊ตฌ๋ ์ ํจํ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ์ง๋ง, ์ข ํฉ์ ์ธ ์ ํธ๋ ์ข ์ข ์ผ๊ด์ฑ์ด ๋ถ์กฑํฉ๋๋ค. ์ฌ๊ฐ๋ ์์ถฉ, ์ค๋ณต๋๋ ๊ฒฐ๊ณผ, ๊ทธ๋ฆฌ๊ณ ์๋ก ๋ค๋ฅธ ๊ธฐ์ค์ ์ผ๋ก ์ธํด ๋ช ํํ ์ด์ ์์ด ๋ฆด๋ฆฌ์ค๊ฐ ์ฐจ๋จ๋๋ ํ์ดํ๋ผ์ธ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
Smart TS XL์ ์ฌ๋ฌ ๋๊ตฌ์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๊ณตํต๋ ์คํ ๋ฐ ์ข ์์ฑ ์ธ์ฌ์ดํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋งฅ๋ฝํํ๋ ํฉ๋ฆฌํ ๊ณ์ธต ์ญํ ์ ํจ์ผ๋ก์จ ๊ฐ์น๋ฅผ ์ฐฝ์ถํฉ๋๋ค. Smart TS XL์ ์ฌ์ฉํ๋ฉด ๊ฐ ์ค์บ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ ๋ฆฝ์ ์ธ ๊ฑฐ๋ถ ์ฌ์ ๋ก ์ทจ๊ธํ๋ ๋์ , ์กฐ์ง์ ๋์ผํ ์คํ ์์ญ ๋ฐ ์ข ์์ฑ ์ฒด์ธ ๋ด์์ ๋ฐ๊ฒฌ ์ฌํญ๋ค์ด ์ด๋ป๊ฒ ์ํธ ์์ฉํ๋์ง ํ๊ฐํ ์ ์์ต๋๋ค.
์ด๋ฌํ ํฉ๋ฆฌํ ๊ธฐ๋ฅ์ ๋ค์์ ์ง์ํฉ๋๋ค.
- ๋์ผํ ์คํ ๊ฒฝ๋ก์ ์ํฅ์ ๋ฏธ์น๋ ๋๊ตฌ ์ ๋ฐ์ ๊ฑธ์น ๊ฒฐ๊ณผ์ ์๊ด๊ด๊ณ
- ์๋ก ๋ค๋ฅธ ์ค์บ๋์์ ๋ฐ์ํ๋ ์ค๋ณต๋๊ฑฐ๋ ๊ฒน์น๋ ๊ฒฝ๊ณ ์๋ณ
- ์ง์ญ์ ๋ฌธ์ ์ ์์คํ ์ ์ํ ํจํด์ ๋ถ๋ฆฌ
- ๊ฐ์ฌ ๋ฐ ๋ฆด๋ฆฌ์ค ๊ฒํ ์ค ๋ ํ๋นํ ๊ฒ์ดํธ ๊ฒฐ์
๊ฑฐ๋ฒ๋์ค ์ดํด๊ด๊ณ์๋ค์๊ฒ ์์ด ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ ์ฑ ์ ์ ๋ขฐ์ฑ์ ๊ฐํํฉ๋๋ค. ์น์ธ ์ ์ฐจ๋ ์์์ ์ธ ๊ธฐ์ค์ด ์๋ ์ํคํ ์ฒ์ ๊ด์ ์์ ์ค๋ช ๊ฐ๋ฅํด์ง๋ฏ๋ก, ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ํต์ ๋ ฅ์ ์ฝํ์ํค๋ ๋น๊ณต์์ ์ธ ์์ธ ์ฒ๋ฆฌ ์ ์ฐจ์ ๋ํ ์์กด๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
Azure DevOps ์ ๊ณต ์ฃผ๊ธฐ์ ๋ง์ถ ํ๋ํ ๋ฐ ๋ง์ด๊ทธ๋ ์ด์ ๊ด๋ จ ์ธ์ฌ์ดํธ
๋ง์ Azure DevOps ํ๊ฒฝ์์ ํด๋ผ์ฐ๋ ๋ง์ด๊ทธ๋ ์ด์ , ์๋น์ค ๋ถํด ๋ฐ ๋ ๊ฑฐ์ ์์คํ ๊ต์ฒด์ ๊ฐ์ ํ๋ํ ์ด๋์ ํฐ๋ธ๋ฅผ ์ ๊ทน์ ์ผ๋ก ์ง์ํ๊ณ ์์ต๋๋ค. ์ ์ ๋ถ์๋ง์ผ๋ก๋ ์ด๋ฌํ ์ํฉ์์ ์ ํ์ ์ธ ์ง์นจ๋ง ์ ๊ณตํ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ๋ฌธ์ ๋ฅผ ๊ฐ์กฐํ์ง๋ง, ๋ณ๊ฒฝ์ด ์์ ํ๊ฒ ์ด๋ฃจ์ด์ง ์ ์๋ ๋ถ๋ถ์ด๋ ๋ณ๊ฒฝ์ ๊ณผ๋ํ ์ํ์ด ๋ฐ๋ฅด๋ ๋ถ๋ถ์ ๋ช ํํ ๋ณด์ฌ์ฃผ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
Smart TS XL์ ์คํ ๋ฐ ์ข ์์ฑ ๊ตฌ์กฐ๋ฅผ ํ์ ํ์ฌ ์์ ํ ์ํ์ฑ์ ์ ์ํจ์ผ๋ก์จ ํ๋ํ ๊ณํ์ ์ง์ํฉ๋๋ค. ์ ์ ๋ถ์ ๊ฒฐ๊ณผ์ ๊ฒฐํฉ๋ ์ด๋ฌํ ์ธ์ฌ์ดํธ๋ ์ํคํ ํธ๊ฐ ํ์ ์์คํ ์ ๋ฏธ์น๋ ์ํฅ์ ์ต์ํํ๋ฉด์ ๋ฆฌํฉํ ๋ง ๋๋ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์๋ ๊ตฌ์ฑ ์์์, ๋์ ๊ฒฐํฉ๋ ๋๋ ๋ณต์กํ ์ ์ด ํ๋ฆ์ผ๋ก ์ธํด ์ฌ์ ์์ ์ด ํ์ํ ๊ตฌ์ฑ ์์๋ฅผ ์๋ณํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
ํ๋ํ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ์ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ ์ง์ ๋ณํ์ ์ ํญํ๋ ๊ธด๋ฐํ๊ฒ ์ฐ๊ฒฐ๋ ์คํ ํด๋ฌ์คํฐ์ ๋ํ ๊ฐ์์ฑ ํ๋ณด
- ์์กด์ฑ ๊ฒฉ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํ๋๊ฐ ๋ฎ์ ๋ฆฌํฉํ ๋ง ์ง์ ์ ์๋ณ
- ๊ณต์ ์คํ ๊ฒฝ๋ก๋ฅผ ๋ช ํํ ํจ์ผ๋ก์จ ๋ณ๋ ฌ ์คํ ์ ๋ต์ ์ง์ํฉ๋๋ค.
- ๋จ๊ณ์ ์ด์ฃผ ๋ ธ๋ ฅ ์ค ํด๋ณด ๊ฐ๋ฅ์ฑ ๊ฐ์
๊ธฐ์ ๋ฆฌ๋๋ค์๊ฒ ์์ด ์ด๋ ๋ฉํ ์๋ ฅ์ด ๋์ ์ํฉ์์๋ ์ง์ฐ๋๋ ํ๋ก์ ํธ๊ฐ ์ค์ด๋ค๊ณ ํ๋ํ ์ผ์ ์ ๋์ฑ ์์ธกํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
CTO, ํ๋ซํผ ์ฑ ์์ ๋ฐ ์ํ ๊ด๋ฆฌ ๋ด๋น์๋ฅผ ์ํ ์์ฌ ๊ฒฐ์ ์ง์
Smart TS XL์ ์ฃผ์ ์ฌ์ฉ์์ธต์ ๊ฐ๋ฐ์๋ฟ๋ง ์๋๋ผ ๊ฐ๋ณ ์ฝ๋ ๋ฌธ์ ๋ณด๋ค๋ ๊ฒฐ๊ณผ๋ฌผ ์ ๊ณต์ ์ฑ ์์ด ์๋ CTO, ํ๋ซํผ ์์ ์ ๋ฐ ์ํ ๊ด๋ฆฌ์๊น์ง ํฌํจํฉ๋๋ค. ์ด ํ๋ซํผ์ ๊ธฐ๋ฅ์ ์ด๋ฌํ ์ญํ ์ ๋ด๋น์๋ค์ด Azure DevOps ํ๊ฒฝ์์ ์ผ์์ ์ผ๋ก ์ง๋ฉดํ๋ ์ง๋ฌธ๋ค์ ํด๊ฒฐํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
๊ทธ ์ง๋ฌธ๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ ์ ๋ถ์ ๊ฒฐ๊ณผ ์ค ๋ค์ ๋ฆด๋ฆฌ์ค์ ๋ํ ์ค์ ๋ฐฐ์ก ์ํ์ ๋ํ๋ด๋ ๊ฒ์ ๋ฌด์์ ๋๊น?
- ๊ณต์ ๋ ์์กด์ฑ์ด ๋ก์ปฌ ๊ฒฐํจ์ ์ํฅ์ ์ฆํญ์ํค๋ ๊ฒฝ์ฐ
- ํ๋ํ ํ๋์ด ์์คํ ์ ๋ฐ์ ์คํ ๋์์ ์ด๋ป๊ฒ ๋ณํ์ํค๋์ง
- ํ์ดํ๋ผ์ธ ๊ฒ์ดํธ๊ฐ ๊ณ ์ฅ๋ ์ด์ ์ ๊ทธ ๊ณ ์ฅ์ด ์ค์ ๋ ธ์ถ์ ๋ฐ์ํ๋์ง ์ฌ๋ถ
Smart TS XL์ ์คํ ๋์ ๋ฐ ์ข ์์ฑ ๊ตฌ์กฐ์ ๊ธฐ๋ฐํ ๋ต๋ณ์ ์ ๊ณตํจ์ผ๋ก์จ, ๊ธฐ์ ์ ์ํ ํ์ฉ ์์ค์ ๋ถํฉํ๊ณ , ๋ฐ๋ณต ๊ฐ๋ฅํ๋ฉฐ, ํ๋นํ ์์ฌ๊ฒฐ์ ์ ์ง์ํฉ๋๋ค. ์ด๋ ์ ์ ๋ถ์์ด ํ์ฅ๋๋๋ผ๋ ๊ฒฐ๊ณผ๋ฌผ ์ ๊ณต์ ๊ฑธ๋ฆผ๋์ด ๋์ง ์๋๋ก ํ๋ ํ ๋์ ๋๋ค.
์ค์บ๋ ์ค์ฌ์ ์ํฌํ๋ก์ฐ๋ฅผ ๋์ด์๊ณ ์ ํ๋ ์กฐ์ง์๊ฒ Smart TS XL์ Azure DevOps ๋ด์์ ์ ์ ๋ถ์์ ํตํด ๊ฑฐ๋ฒ๋์ค, ํ๋ํ ๋ฐ ๋ฆด๋ฆฌ์ค ์ ๋ขฐ๋๋ฅผ ๋์ด๋ ๋ฐฉ์์ ์ฌ์ ๋ฆฝํ๋ ์ธ์ฌ์ดํธ ํ๋ซํผ ์ญํ ์ ํฉ๋๋ค.
Azure DevOps ํ์ดํ๋ผ์ธ์ฉ ์ ์ ๋ถ์ ๋๊ตฌ: ์ํฐํ๋ผ์ด์ฆ๊ธ SAST ์์ง ๋น๊ต
Azure DevOps์ฉ ์ ์ ๋ถ์ ๋๊ตฌ๋ฅผ ์ ํํ ๋๋ ๋จ์ํ ํตํฉ๋ง ํ๋ ๋๊ตฌ์ ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์์ ์์ธก ๊ฐ๋ฅํ ๋์์ ๋ณด์ด๋ ๋๊ตฌ๋ฅผ ๊ตฌ๋ถํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๋น๊ต๋ ์ธ์ด ์ง์ ๋ฒ์๋ณด๋ค๋ ๊ฐ ๋๊ตฌ๊ฐ ์ ์ฑ ์ ์ด๋ป๊ฒ ์ ์ฉํ๊ณ , ๋ฆฌํฌ์งํ ๋ฆฌ ์ ๋ฐ์ ๊ฑธ์ณ ์ด๋ป๊ฒ ํ์ฅํ๋ฉฐ, ์์ด์ ํธ ํ, ํ์ดํ๋ผ์ธ ํ ํ๋ฆฟ ๋ฐ ๋ฆด๋ฆฌ์ค ๋จ๊ณ ์ ๋ฐ์ ๊ฑธ์ณ ์์ ์ ์ผ๋ก ์ ์ง๋๋ ์ฆ๊ฑฐ๋ฅผ ์์ฑํ๋์ง์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค.
์ด ๋จ๊ณ์์๋ ์ ์ ๋ถ์์ด ๋ฐฐํฌ ์ธํ๋ผ์ ์ผ๋ถ๊ฐ ๋ฉ๋๋ค. ๋๊ตฌ๋ ์คํ ๊ฒฐ์ ์ฑ, ๊ฑฐ๋ฒ๋์ค ์ ํฉ์ฑ, ๋ฌธ์ ํด๊ฒฐ ํ์ฅ์ฑ, ๊ทธ๋ฆฌ๊ณ ๋ชจ์๋๋ ์ ํธ๋ฅผ ์์ฑํ์ง ์๊ณ ๋ณ๋ ฌ ์ค์บ ์ ๋ต๊ณผ ๊ณต์กดํ ์ ์๋ ๋ฅ๋ ฅ ๋ฑ์ ๊ธฐ์ค์ผ๋ก ํ๊ฐ๋ฉ๋๋ค. ๋ค์์ ์ด๋ฌํ ์ด์ ํ์ค์ ๋ถํฉํ์ฌ ๋๊ท๋ชจ Azure DevOps ํ๊ฒฝ์์ ๊พธ์คํ ์ฑํ๋๊ณ ์๋ ๋๊ตฌ๋ค์ ์๊ฐํฉ๋๋ค.
์ํฐํ๋ผ์ด์ฆ Azure DevOps ๋ชฉํ์ ๋ง๋ ์ต๊ณ ์ ์ ์ ๋ถ์ ๋๊ตฌ
- ์ฌ๋ฌ ํ์ ๊ฑธ์ณ ์ค์ ์ง์ค์ ํ์ง ๊ด๋ฆฌ ์์คํ ์ ์ด์ํฉ๋๋ค.: ์๋ํ๋ธ
- SARIF ์ถ๋ ฅ๊ฐ์ ํ์ฉํ ํ์คํ๋ ๋ณด์ ๊ฒ์ฌ๋ง์ดํฌ๋ก์ํํธ ๋ณด์ DevOps
- ๊ณ ์ํ ์ฝ๋์ ๋ํ ์ฌ์ธต ์๋ฏธ๋ก ์ ๋ณด์ ๋ถ์: GitHub ๊ณ ๊ธ ๋ณด์(CodeQL)
- ๊ท์ ํ๊ฒฝ์ ์ํ ์ ์ฑ ์์ค์ SAST์คํํ ์คํธ ํฌํฐํ์ด
- ๋น ๋ฅธ ๊ท์น ๊ธฐ๋ฐ ์ค์บ ๋ฐ ์ฌ์ฉ์ ์ง์ ๊ธฐ๋ฅ: ์ ๊ทธ๋
- ๊ท์ ์ค์ ๋ณด๊ณ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ํ๋ก๊ทธ๋จ: ์ฒดํฌ๋ง๋ฅดํฌ์ค
- ๋๊ท๋ชจ C/C++ ๋ฐ ์์ ํ์ ์์คํ : ํด๋ผ๋ฆฌ์ค์ ์ปค๋ฒ๋ฆฌํฐ
๋ค์ ์น์ ์์๋ ๊ฐ ๋๊ตฌ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ดํด๋ณด๊ณ ์ํคํ ์ฒ ๋ชจ๋ธ, ๊ฐ๊ฒฉ ํน์ฑ, Azure ํ์ดํ๋ผ์ธ์์์ ์คํ ๋์, ์ํฐํ๋ผ์ด์ฆ ํ์ฅ ํ์ค ๋ฐ ์ฅ๊ธฐ์ ์ธ ๋์ ์ ์ํฅ์ ๋ฏธ์น๋ ๊ตฌ์กฐ์ ์ ํ ์ฌํญ์ ์ค์ ์ ๋ก๋๋ค.
SonarQube๋ฅผ ํ์ฉํ ์ค์ ์ง์ค์ ํ์ง ๊ด๋ฆฌ ๋ฐ ๋ค๊ตญ์ด ๊ธฐ์ค์ ์ ์ด
๊ณต์ ์ฌ์ดํธ: SonarQube
SonarQube๋ ์ ์ ๋ถ์์ด ๊ฐ๋ฐ์ ์ธก ์๋ฌธ ๋๊ตฌ๋ผ๊ธฐ๋ณด๋ค๋ ์ค์ ์ง์ค์ ํ์ง ๊ด๋ฆฌ ๋ฉ์ปค๋์ฆ์ผ๋ก ๊ธฐ๋ฅํด์ผ ํ๋ Azure DevOps ํ๊ฒฝ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. SonarQube์ ์ํคํ ์ฒ ๋ชจ๋ธ์ ์ฌ๋ฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ดํ๋ผ์ธ์ ๊ฒฐ๊ณผ๋ฅผ ์ง๊ณํ๊ณ ํ ์ ์ฒด์ ๊ฑธ์ณ ์ผ๊ด๋ ๊ท์น ์ธํธ์ ํ์ง ๊ฒ์ดํธ๋ฅผ ์ ์ฉํ๋ ์๋ฒ ๊ธฐ๋ฐ ๋ถ์ ํ๋ซํผ์ ์ค์ฌ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค. Azure DevOps ํ์ดํ๋ผ์ธ์ ๋น๋ ๋จ๊ณ์ ์ผ๋ถ๋ก ์ค์บ๋๋ฅผ ์คํํ์ง๋ง, ๊ฒฐ๊ณผ, ๊ธฐ์ค์ ๋ฐ ์๊ณ๊ฐ์ ๋ํ ์ต์ข ํด์์ SonarQube ํ๋ซํผ ์์ฒด์ ์์ต๋๋ค.
์คํ ๊ด์ ์์ ์ด๋ฌํ ๋ถ๋ฆฌ๋ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ถ์ ๋์์ Azure ํ์ดํ๋ผ์ธ์ด ์ฝ๋๋ฅผ ์ปดํ์ผํ๊ณ , ์ข ์์ฑ์ ํด๊ฒฐํ๊ณ , ์์ฑ๋ ์ํฐํฉํธ๋ฅผ ํฌํจํ๋ ๋ฐฉ์์ ํฌ๊ฒ ์ข์ฐ๋ฉ๋๋ค. ํ์ดํ๋ผ์ธ ์ ์๊ฐ ๋ค๋ฅด๋ฉด ์ฝ๋ ๋ณ๊ฒฝ ์์ด๋ SonarQube ๊ฒฐ๊ณผ๊ฐ ๋ณ๋๋ ์ ์์ต๋๋ค. ์์ ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๊ธฐ์ ์ ์ผ๋ฐ์ ์ผ๋ก ๊ณต์ ํ์ดํ๋ผ์ธ ํ ํ๋ฆฟ์ ํตํด ๋น๋ ๋ฐ ํ ์คํธ ๋จ๊ณ๋ฅผ ํ์คํํ์ฌ ์ ์ ๋ถ์์ด ์ฌ๋ฌ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ ์ฌํ ์คํ ์กฐ๊ฑด์ ์ค์ํ๋๋ก ํฉ๋๋ค.
๊ฐ๊ฒฉ ์ฑ ์ ๋ฐฉ์์ ์๋์ ํฐ์ด์ ์ฝ๋ ๋ผ์ธ ์, ๊ธฐ๋ฅ ์๊ตฌ ์ฌํญ ๋ฑ์ ํ์ฅ์ฑ ์ฐจ์์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค. ์ด๋ ๋๊ท๋ชจ Azure DevOps ํ๊ฒฝ์์ ์ด์์์ ์ํฅ์ ๋ฏธ์น๋๋ฐ, ์ถ๊ฐ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์จ๋ณด๋ฉํ๋ฉด ํ๋ซํผ ๋ฒ์๊ฐ ๋น ๋ฅด๊ฒ ํ์ฅ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. SonarQube ๋์ ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ, ์ด๋ ๋จ์ํ ํด ์ ํ์์ ํ๋ซํผ ์ฑ ์์ผ๋ก ์ ํ๋๋ฉฐ, ์ปดํจํ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ, ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ฒ๋ฆฌ๋์ ๋ํ ์ฉ๋ ๊ณํ์ด ํ์ํ๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ์์๋ค์ ํ์ดํ๋ผ์ธ ์ง์ฐ ์๊ฐ๊ณผ ๊ฐ๋ฐ์ ํผ๋๋ฐฑ ๋ฃจํ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
๊ธฐ๋ฅ์ ์ธ ์ธก๋ฉด์์ SonarQube์ ๊ฐ์ ์ ํญ๋์ ์ธ์ด ์ง์๊ณผ ์ฑ์ํ ํ์ง ๊ฒ์ดํธ ๋ชจ๋ธ์ ์์ต๋๋ค. ๊ฒ์ดํธ๋ ํ ๋ฆฌํ์คํธ ๋ฐ ๋ธ๋์น ์์ค์์ ์ ์ฉํ ์ ์์ด ๋ณํฉ ์ ์ ๊ฒฐํจ ๋ฐ๋, ์ ์ง๋ณด์์ฑ ๊ธฐ์ค, ๋ณด์ ๊ท์น ์ค์ ์ฌ๋ถ๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค. ๊ธฐ์ ์ ๊ฒฝ์ฐ, ์ด๋ฌํ ๋ชจ๋ธ์ ์ผ๊ด์ฑ๊ณผ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ์ด ํ๋ณ ๋ง์ถค ์ค์ ๋ณด๋ค ์ค์ํ ์ค์ ์ง์ค์ ๊ฑฐ๋ฒ๋์ค ๊ตฌ์กฐ์ ์ ๋ถํฉํฉ๋๋ค.
์ฌ์ธต์ ์ธ ์คํ ์ธ์ ๋ณด์ ๋ถ์์ด๋ ์ธ๋ฐํ ์ข ์์ฑ ์ํฅ ๋ชจ๋ธ๋ง์ด ํ์ํ ํ๊ฒฝ์์๋ ๊ตฌ์กฐ์ ํ๊ณ๊ฐ ๋๋ฌ๋ฉ๋๋ค. SonarQube์ ๋ถ์์ ์ฌ์ ํ โโ๊ท์น ๊ธฐ๋ฐ ๋ฐ ์ฝ๋ ์ค์ฌ์ ์ด๋ฉฐ, ์ ์ฅ์ ๊ฐ ๊ฒฐํฉ์ด๋ ๋ฐํ์ ์คํ ๊ฒฝ๋ก์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ํต์ฐฐ๋ ฅ์ด ๋ถ์กฑํฉ๋๋ค. ๋ณต์กํ ํ๋ํ ํ๋ก๊ทธ๋จ์์ ์ด๋ฌํ ํ๊ณ๋ ๊ธฐ์ ์ ์ผ๋ก๋ ์ฌ๋ฐ๋ฅด์ง๋ง ์ด์์ ๋นํจ์จ์ ์ธ ๊ฒ์ดํธ๋ฅผ ์์ฑํ์ฌ, ๋ฐฐํฌ ์ํ์ด ๋ฎ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด ์ค๋ฅ๋ฅผ ๋ฐ์์ํฌ ์ ์์ต๋๋ค.
๋๊ท๋ชจ ํ๊ฒฝ์์ SonarQube๋ ํฌ๊ด์ ์ธ ์ํ ๋ถ์ ์์ง๋ณด๋ค๋ ํ์ง ๊ธฐ์ค์ ์ญํ ์ ํ ๋ ์ต์์ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. Azure DevOps์์ SonarQube์ ํจ๊ณผ๋ฅผ ๊ทน๋ํํ๋ ค๋ฉด ์ฒด๊ณ์ ์ธ ํ์ดํ๋ผ์ธ ํ์คํ, ํต์ ๋ ๊ท์น ๊ด๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ํ์ง ๊ด๋ฆฌ์ ์ฌ์ธต์ ์ธ ์ํคํ ์ฒ ์ํ ํ๊ฐ๋ฅผ ๋ค๋ฅธ ๊ณณ์์ ์ฒ๋ฆฌํ๋ ๋ช ํํ ๋ถ๋ฆฌ๊ฐ ํ์์ ์ ๋๋ค.
Azure Pipelines์์ ํ์คํ๋ ๋ณด์ ์ค์บ ๋ฐ SARIF ๊ธฐ๋ฐ ์ฆ๊ฑฐ๋ฅผ ์ํ Microsoft ๋ณด์ DevOps
๊ณต์ ์ฌ์ดํธ: Microsoft Security DevOps
Microsoft Security DevOps๋ Azure DevOps ํ๊ฒฝ์์ ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋ ๊ธฐ์ ๋ฌธ์ , ์ฆ ํํธํ๋ ํด์ฒด์ธ๊ณผ ์์์ ์ธ ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ์ผ๋ก ์ธํ ์ผ๊ด์ฑ ์๋ ๋ณด์ ์ค์บ ๋์์ ํด๊ฒฐํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. Microsoft Security DevOps๋ ๋จ์ผ ์ ์ ๋ถ์ ์์ง์ผ๋ก ์๋ํ๋ ๋์ , ์ฌ๋ฌ Microsoft ์ง์ ๋ณด์ ๋ถ์๊ธฐ๋ฅผ ํ์ดํ๋ผ์ธ ์ ๋ฐ์ ๊ฑธ์ณ ์ผ๊ด๋ ๋ฐฉ์์ผ๋ก ์ค์น, ๊ตฌ์ฑ ๋ฐ ์คํํ๋ ์ค์ผ์คํธ๋ ์ด์ ๊ณ์ธต ์ญํ ์ ํฉ๋๋ค.
์ํคํ ์ฒ ์ธก๋ฉด์์ ์ด ๋ชจ๋ธ์ Azure DevOps ํ๋ซํผ ๊ฑฐ๋ฒ๋์ค์ ์ ๋ถํฉํฉ๋๋ค. ๋ณด์ ์ค์บ๋์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ณ ์ฌ์ฉ์ ์ง์ ์ด ์๋ ํ์คํ๋ ํ์ดํ๋ผ์ธ ๊ธฐ๋ฅ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๊ตฌ์ฑ์ ์ผ๋ฐ์ ์ผ๋ก ํ์ดํ๋ผ์ธ ํ ํ๋ฆฟ๊ณผ ํจ๊ป ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ ์ด์ ๊ฐ๋ฅํ ์ ์ฑ ์ ์๋ก ํํ๋๋ฏ๋ก ๋ณด์ ํ์ ์์ด์ ํธ ํ ๋ฐ ํ๋ก์ ํธ ์ ๋ฐ์ ๊ฑธ์ณ ๊ฒฐ์ ๋ก ์ ์คํ์ ์ ์งํ๋ฉด์ ๋ณ๊ฒฝ ์ฌํญ์ ์ค์์์ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
Azure Pipelines ๋ด๋ถ ์คํ ๋์์ ๋ฐ๋ณต์ฑ์ ๊ฐ์กฐํฉ๋๋ค. Microsoft Security DevOps๋ ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ๋น๋ ๋ก์ง๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ ์ ์ฉ ํ์ดํ๋ผ์ธ ๋จ๊ณ๋ก ๋ฐฐํฌ๋๋ฏ๋ก ์ปดํ์ผ ๋ณ๋์ฑ๊ณผ ์ค์บ ๊ฒฐ๊ณผ ๊ฐ์ ์ฐ๊ด์ฑ์ ์ค์ ๋๋ค. ํนํ ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์์๋ SARIF ์ถ๋ ฅ์ ์ค์ ์ ๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ง์ถคํ ๋ณํ ๋ก์ง ์์ด๋ Azure DevOps ๋น๋ ์์ฝ, ๋ณด์ ๋์๋ณด๋ ๋ฐ ํ์ ์ฆ๊ฑฐ ์์คํ ์์ ๊ฒฐ๊ณผ๋ฅผ ์ผ๊ด๋๊ฒ ํ์ฉํ ์ ์์ต๋๋ค.
Microsoft Security DevOps๋ ๋ ์ ์ ์ธ ํ์ง ์์ง๋ณด๋ค๋ ์ค์ผ์คํธ๋ ์ด์ ๋ฐ ํ์คํ๋ฅผ ํตํด ๊ฐ์น๋ฅผ ์ฐฝ์ถํ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ์์ฉ SAST ํ๋ซํผ์ ๋นํด ๊ฐ๊ฒฉ ๊ฒฝ์๋ ฅ์ด ๋ฐ์ด๋ฉ๋๋ค. ๋ฐ๋ผ์ ํ๋ก์ ํธ๋ณ ๋ผ์ด์ ์ค ๋น์ฉ ๋ถ๋ด ์์ด ์ฌ๋ฌ ์ ์ฅ์์ ๊ฑธ์ณ ๊ด๋ฒ์ํ ๋ณด์ ๋ฒ์๋ฅผ ํ๋ณดํ๊ณ ์ ํ๋ ์กฐ์ง์ ์ ํฉํฉ๋๋ค. ๋ค๋ง, ๋ถ์์ ๊น์ด๋ ํด์ฒด์ธ์ ํฌํจ๋ ๋ถ์ ๋๊ตฌ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ฏ๋ก, ๋ถ์ ๋ฒ์์ ๊ณต๋ฐฑ์ด ์๊ธฐ์ง ์๋๋ก ๋ถ์ ๋๊ตฌ๋ฅผ ์ ์คํ๊ฒ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
๊ธฐ๋ฅ์ ์ธ ์ธก๋ฉด์์ Microsoft Security DevOps๋ ์ด๊ธฐ์ข ํ๊ณผ ์ธ์ด ํ๊ฒฝ์ ๊ฑธ์ณ ๋ณด์ ์ค์บ์ ์ผ๊ด๋๊ฒ ์ ์ฉํด์ผ ํ๋ ์๋๋ฆฌ์ค์์ ํ์ํ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. ์ผ๊ด๋ ๋๊ตฌ ๋ฒ์ ๊ด๋ฆฌ, ํ์คํ๋ ๋ณด๊ณ ์, Azure DevOps ์ ์ฑ ์ํ๊ณผ์ ๊ฐํธํ ํตํฉ์ด ์ฃผ์ ๊ฐ์ ์ ๋๋ค. ์ด๋ฌํ ํน์ง ๋๋ถ์ ๊ณ ๋๋ก ๋ง์ถคํ๋ ๊ท์น ์์ฑ๋ณด๋ค๋ ๋ณด์ ํ์ธ์ ์ผ๊ด์ฑ๊ณผ ๊ฐ์ฌ ์ค๋น ํ์ธ๋ฅผ ์ฐ์ ์ํ๋ ์กฐ์ง์ ์ ํฉํฉ๋๋ค.
๊ธฐ์ ์์ ์ฌ์ธต์ ์ธ ์ ์ฐจ ๊ฐ ๋ฐ์ดํฐ ํ๋ฆ ๋ถ์, ์ฅ๊ธฐ์ ์ธ ๊ธฐ์ค์ ์ค์ ์ํฌํ๋ก ๋๋ ์ฝ๋ ์์ค์์์ ์ธ๋ฐํ ์ฐจ๋จ ๊ด๋ฆฌ๊ฐ ํ์ํ ๋ ๊ตฌ์กฐ์ ํ๊ณ๊ฐ ๋๋ฌ๋ฉ๋๋ค. Microsoft Security DevOps๋ ์์ฒด์ ์ธ ์๋ฏธ ๋ถ์ ์์ง์ ๋ณด์ ํ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ง๊ณํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ฏ๋ก ๊ณ ๊ธ ๋ณด์ ์๋๋ฆฌ์ค๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ณด์์ ์ธ ๋๊ตฌ์ ์์กดํฉ๋๋ค. ๋๊ท๋ชจ ํ๊ฒฝ์์ ๊ทธ ํจ๊ณผ๋ ๊ธฐ๋ณธ ๋ถ์ ๋๊ตฌ์ ๋ํ ์ ๋ฐ์ดํธ๋ก ์ธํด ์ ํธ ๋ณ๋์ฑ์ด ๋ฐ์ํ์ง ์๋๋ก ์๊ฒฉํ ๊ตฌ์ฑ ๊ด๋ฆฌ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ ํ๋ก์ธ์ค์ ๋ฌ๋ ค ์์ต๋๋ค.
Azure DevOps ์ํคํ ์ฒ ๋ด์์ Microsoft Security DevOps๋ ์ผ๊ด๋ ์ฆ๊ฑฐ ๋ฐ ์ ์ฉ ๋ฒ์ ๊ฒฝ๊ณ๋ฅผ ์ค์ ํ๋ ๊ธฐ๋ณธ ๋ณด์ ์ค์บ ๊ณ์ธต์ผ๋ก ๋ฐฐ์น๋ ๋ ๊ฐ์ฅ ํจ๊ณผ์ ์ด๋ฉฐ, ๋ณด๋ค ์ ๋ฌธํ๋ ๋๊ตฌ๋ ์ํ๋๊ฐ ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ฌ์ธต ๋ถ์์ ์ฒ๋ฆฌํฉ๋๋ค.
Azure ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์๋ฏธ๋ก ์ ๋ณด์ ๋ถ์์ ์ํ CodeQL์ ์ฌ์ฉํ GitHub ๊ณ ๊ธ ๋ณด์
๊ณต์ ์ฌ์ดํธ: GitHub ๊ณ ๊ธ ๋ณด์
GitHub Advanced Security with CodeQL์ ํจํด ๋งค์นญ๋ณด๋ค๋ ์๋ฏธ๋ก ์ ์ถ๋ก ๊ณผ ๋ฐ์ดํฐ ํ๋ฆ ๋ถ์์ด ํ์ํ ๋ณด์ ์ ํ์ ๋ถ์ํด์ผ ํ๋ Azure DevOps ํ๊ฒฝ์ ์ต์ ํ๋์ด ์์ต๋๋ค. ์ด ์๋ฃจ์ ์ ์ํคํ ์ฒ ๋ชจ๋ธ์ ์ฟผ๋ฆฌ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฐ์ ์ฝ๋ ํํ์ ๊ตฌ์ถํ๋ ๋ฐ ์ค์ ์ ๋๊ณ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ํจ์, ํ์ผ, ์คํ ๊ฒฝ๋ก ์ ๋ฐ์ ๊ฑธ์น ๋ถ์์ด ๊ฐ๋ฅํฉ๋๋ค. Azure Repos ํ๊ฒฝ์์ ์ด ๋ชจ๋ธ์ ํ ๋ฆฌํ์คํธ ๋ฐ ๋ฆฌํฌ์งํ ๋ฆฌ ๊ฒํ ํ๋ก์ธ์ค์ ํตํฉ๋ ์ฝ๋ ์ค์บ ๊ฒฝ๊ณ ํํ๋ก ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ ๋ณด์ ์ค์บ ์ํฌํ๋ก๋ฅผ ์ง์ํฉ๋๋ค.
์คํ ๊ด์ ์์ CodeQL ๋ถ์์ ํ์ดํ๋ผ์ธ์ ๊ณ ์ ํ ํน์ฑ์ ๋ถ์ฌํฉ๋๋ค. ๋ถ์ ํ๋ก์ธ์ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปดํ์ผ ๋๋ ๋น๋๋ ํํ๋ฅผ ๋ฐ์ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ์ ํ์๋ก ํ๋ฏ๋ก, ์ค์บ ๋์์ ๋น๋ ๊ตฌ์ฑ, ์กฐ๊ฑด๋ถ ์ปดํ์ผ ๊ฒฝ๋ก ๋ฐ ์ธ์ด๋ณ ๋๊ตฌ์ ๋ฏผ๊ฐํฉ๋๋ค. ํนํ ๋จ์ผ ์ธ์ด ๋ฆฌํฌ์งํ ๋ฆฌ ๋๋ ๋ค๊ตญ์ด ์์คํ ๊ณผ ๊ฐ์ ๋๊ท๋ชจ Azure DevOps ๋ฆฌํฌ์งํ ๋ฆฌ์์๋ ์ด ๋จ๊ณ๊ฐ ํ์ดํ๋ผ์ธ ์์ ์๊ฐ์ ์๋นํ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ์ ์์๋ ์ ์ฉ ์์ด์ ํธ ํ ํ ๋น, ์บ์ฑ ์ ๋ต ํ์ฑํ, ์ํ๋๊ฐ ๋์ ๋ถ๊ธฐ ๋๋ ๋ณํฉ ์ง์ ์ผ๋ก ์ค์บ ๋ฒ์๋ฅผ ์ ํ์ ์ผ๋ก ์ ํํ๋ ๋ฑ์ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ํํฉ๋๋ค.
๊ฐ๊ฒฉ ์ฑ ์ ๋ฐฉ์์ GitHub Advanced Security ๋ผ์ด์ ์ค์ ์ฐ๊ด๋์ด ์์ผ๋ฉฐ, ์ด๋ GitHub ๋ณด์ ๋๊ตฌ๋ฅผ ํ์คํํ์ฌ ์ฌ์ฉํ์ง ์๋ Azure DevOps ์กฐ์ง์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ๋น์ฉ ๋ชจ๋ธ์ ํ๋ซํผ ์์ง๋์ด๋ง ์์ฐ๋ณด๋ค๋ ๊ธฐ์ ๋ณด์ ์์ฐ์ ๋ง์ถฐ ์ฑ ์ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๋์ ํจํด์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. GitHub Advanced Security๊ฐ ์ด๋ฏธ GitHub์์ ํธ์คํ ๋๋ ๋ฆฌํฌ์งํ ๋ฆฌ ์ ๋ฐ์ ๊ฑธ์ณ ์ฌ์ฉ๋๊ณ ์๋ ๊ฒฝ์ฐ, CodeQL ์ค์บ๋์ Azure DevOps๋ก ํ์ฅํ๋ฉด ๋ณด์ ์ํฌํ๋ก ๋ฐ ๋ณด๊ณ ์๋ฏธ ์ฒด๊ณ์์ ์ํคํ ์ฒ ์ผ๊ด์ฑ์ ํ๋ณดํ ์ ์์ต๋๋ค.
๊ธฐ๋ฅ์ ์ธ ์ธก๋ฉด์์ CodeQL์ ๊ฐ์ ์ ํํ๋ ฅ์ด ๋ฐ์ด๋๋ค๋ ์ ์ ๋๋ค. ์ฟผ๋ฆฌ๋ฅผ ํตํด ์ฃผ์ ๊ฒฝ๋ก, ์์ ํ์ง ์์ ์ญ์ง๋ ฌํ ํ๋ฆ, ์ฌ๋ฌ ํธ์ถ ๊ณ์ธต์ ๊ฑธ์ณ ์๋ ๋ถ์ ์ ํ ๊ถํ ๊ฒ์ฌ ๋ฑ๊ณผ ๊ฐ์ ๋ณต์กํ ์ทจ์ฝ์ ์ ํ์ ๋ชจ๋ธ๋งํ ์ ์์ต๋๋ค. ๊ท์ ๋์ ์์คํ ์ด๋ ๊ณ ์ํ ์์คํ ์ ๊ฒฝ์ฐ, ์ด๋ฌํ ์์ค์ ๋ถ์์ ๊ท์น ๊ธฐ๋ฐ ์ค์บ๋๋ณด๋ค ๋ ์ฌ์ธต์ ์ธ ๋ณด์ ๋ณด์ฆ์ ์ ๊ณตํฉ๋๋ค. CodeQL์ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ ๊ธฐ์ ์ ์ผ๋ฐ์ ์ผ๋ก ์ฟผ๋ฆฌ ํฉ์ ์ ์ฑ ์ ์์ ์ ์ฌํ๊ฒ ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๊ฑฐ์น๋ ๊ด๋ฆฌ ๋์ ์ํฐํฉํธ๋ก ์ทจ๊ธํฉ๋๋ค.
๋ณด์ ์ค์ฌ ๋ถ์ ์์ญ ์ธ์์๋ ๊ตฌ์กฐ์ ํ๊ณ๊ฐ ๋๋ฌ๋ฉ๋๋ค. CodeQL์ ๋ฒ์ฉ ํ์ง ๊ฒ์ฆ ์์ง์ผ๋ก ์ค๊ณ๋์ง ์์์ผ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ๊ฐ ํ๋ซํผ ๊ฑฐ๋ฒ๋์ค ํ์์ ๊ธฐ๋ํ๋ ์ ์ง๋ณด์์ฑ์ด๋ ์ฝ๋ ์ํ ์งํ์ ๋ช ํํ๊ฒ ์ผ์นํ์ง ์์ ์ ์์ต๋๋ค. ๋ํ, ํนํ ์กฐ์ง์ด ์ถฉ๋ถํ ์๋ฏธ๋ก ์ ์ ๋ฌธ โโ์ง์ ์์ด ํ์ง ๋ก์ง์ ์ฌ์ฉ์ ์ ์ํ๋ ค๊ณ ํ ๋, ์ฟผ๋ฆฌ ์์ฑ ๋ฐ ํ๋์ ์ด์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํฉ๋๋ค.
๋๊ท๋ชจ ํ๊ฒฝ์์ GitHub Advanced Security with CodeQL์ Azure DevOps ๋ด์ ํน์ ๋ณด์ ๋ถ์ ๊ณ์ธต์ผ๋ก ํตํฉ๋ ๋ ์ต์์ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. ํ์ดํ๋ผ์ธ ์คํ ์ ๋ต ๋ฐ ๊ฑฐ๋ฒ๋์ค ๋ชจ๋ธ์ด ํด๋น ๊ธฐ๋ฅ์ ์ปดํจํ ๋ฐ ์ด์ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํ๋ค๋ฉด, ์ํฅ๋ ฅ์ด ํฐ ์ทจ์ฝ์ ์ ํ์ ์ง์คํจ์ผ๋ก์จ ๋ณด๋ค ๊ด๋ฒ์ํ ์ค์บ ๋ฐ ํ์ง ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ๋ณด์ํฉ๋๋ค.
์ ์ฑ ์์ค์ SAST ๋ฐ ๊ท์ ์ค์ ์ํ์ ์ํ OpenText Fortify Static Code Analyzer
๊ณต์ ์ฌ์ดํธ: OpenText Fortify
OpenText Fortify Static Code Analyzer๋ ์ ์ ๋ถ์์ด ๊ฐ๋ฐ์ ์์ฐ์ฑ ์ง์ ๋๊ตฌ๋ผ๊ธฐ๋ณด๋ค๋ ๊ณต์์ ์ธ ๋ณด์ ์ ์ด ์๋จ์ผ๋ก ๊ฐ์ฃผ๋๋ Azure DevOps ํ๊ฒฝ์์ ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฉ๋๋ค. ์ด ์ ํ์ ์ํคํ ์ฒ ๋ชจ๋ธ์ ์ด๋ฌํ ๋ฐฉํฅ์ฑ์ ๋ฐ์ํฉ๋๋ค. ๋ถ์ ์คํ์ ๋น๋ ํ์ดํ๋ผ์ธ ๋๋ ์ ์ฉ ์ค์บ ๋จ๊ณ ๋ด์์ ์ด๋ฃจ์ด์ง๋ฉฐ, ์ ์ฑ ์ ์, ์ทจ์ฝ์ ๋ถ๋ฅ ์ฒด๊ณ ๋ฐ ๊ฑฐ๋ฒ๋์ค ์ํฌํ๋ก๋ ๋ฐฐํฌ ๋ฐฉ์์ ๋ฐ๋ผ Fortify Software Security Center ๋๋ Fortify On Demand๋ฅผ ํตํด ์ค์ ์ง์คํ๋ฉ๋๋ค.
Azure DevOps ํ์ดํ๋ผ์ธ์์ Fortify๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ ๋ถ์๊ธฐ๋ฅผ ํธ์ถํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ์ ๊ตฌ์ฑ ์์์์ ์ฌ์ฉํ ์ ์๋ ์ํฐํฉํธ๋ก ๊ฒ์ํ๋ ์ ์ฉ ํ์ฅ ์์ ์ ํตํด ํตํฉ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด 2๊ณ์ธต ์คํ ๋ชจ๋ธ์ด ๊ตฌ์ถ๋ฉ๋๋ค. ํ์ดํ๋ผ์ธ์ ํ์ ์ ์ค์บ ์คํ ๋ฐ ์ํฐํฉํธ ์์ฑ์ ๋ด๋นํ๊ณ , ์ค์ ์ง์ค์ Fortify ๊ตฌ์ฑ ์์๋ ์๊ด ๊ด๊ณ ๋ถ์, ๋ณด๊ณ ๋ฐ ์ ์ฑ ์ํ์ ์ฒ๋ฆฌํฉ๋๋ค. ๊ธฐ์ ์ ์ข ์ข ์ด ๋ชจ๋ธ์ ๋ณด์ ์ด์ ์ํฌํ๋ก์ ์ฐ๊ณํ์ฌ ์ค์บ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐํฌ ํ๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฒํ ํฉ๋๋ค.
๊ฐ๊ฒฉ ์ฑ ์ ๋ฐฉ์์ Fortify๊ฐ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ํ๋ซํผ์ผ๋ก ์๋ฆฌ๋งค๊นํ๊ณ ์์์ ๋ฐ์ํฉ๋๋ค. ๋ผ์ด์ ์ค๋ ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์, ์ค์บ ๋ณผ๋ฅจ ๋๋ ์ํฐํ๋ผ์ด์ฆ ๊ตฌ๋ ๋ฑ๊ธ์ ๊ธฐ์ค์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ ์๋ง์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณด์ ํ Azure DevOps ํ๊ฒฝ์ ์ค์ง์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋ฐ๋ผ์ ์จ๋ณด๋ฉ ๊ฒฐ์ ์ ์ ์คํ๊ณ ๋ฒ์๊ฐ ๋ช ํํ๊ฒ ์ค์ ๋๋ฉฐ, ๋ชจ๋ ์ฝ๋๋ฒ ์ด์ค์ ๋ํ ํฌ๊ด์ ์ธ ๋ณด์๋ณด๋ค๋ ๊ท์ ๋ ธ์ถ ์ํ, ๋ฏผ๊ฐํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋๋ ์ธ๋ถ ๊ณต๊ฒฉ ํ๋ฉด์ด ์๋ ์์คํ ์ ์ฐ์ ์ํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.
๊ธฐ๋ฅ์ ์ธ ์ธก๋ฉด์์ Fortify์ ๊ฐ์ ์ ์ฑ์ํ ์ทจ์ฝ์ ๋ถ๋ฅ ์์คํ ๊ณผ ๊ฐ์ฌ ๋ฐ ๊ท์ ์ค์ ์๊ตฌ ์ฌํญ์ ์ง์ํ๋ ๋ฅ๋ ฅ์ ์์ต๋๋ค. ๋ฐ๊ฒฌ๋ ์ทจ์ฝ์ ์ ๋ช ํํ๊ฒ ์ ์๋ ๋ฒ์ฃผ, ํด๊ฒฐ ์ง์นจ ๋ฐ ์ ์ฑ ์๊ณ๊ฐ์ ๋งคํ๋์ด ๋๊ท๋ชจ ์กฐ์ง ์ ์ฒด์์ ์ผ๊ด๋ ํด์์ ์ง์ํฉ๋๋ค. Azure DevOps ์ฌ์ฉ์์ ๊ฒฝ์ฐ, ์ด๋ ๋ด๋ถ์ ์ผ๋ก ์ ์๋ ํด๋ฆฌ์คํฑ์ด ์๋ ์ธ๋ถ ํ์ค์ ๋ถํฉํ๋ ๋ณด์ ๊ฒ์ดํธ๋ฅผ ๊ตฌ์ถํ ์ ์๋๋ก ํด์ค๋๋ค.
์คํ ๋์์๋ ์ ์คํ ์ด์ ๊ณํ์ด ํ์ํฉ๋๋ค. Fortify ์ค์บ์ ํนํ ๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค๋ ๋ณต์กํ ์ธ์ด์ ๊ฒฝ์ฐ ๋ฆฌ์์ค ์ง์ฝ์ ์ผ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ์ ์ ๋ชจ๋ ํ ๋ฆฌํ์คํธ์ ๋ํด ์ ์ฒด ์ค์บ์ ์คํํ๋ ๋์ , ๊ฒฝ๋ ๊ฒ์ฌ๋ ์ง์์ ์ผ๋ก ์คํํ๊ณ ์ ์ฒด ์ ์ฑ ์ค์บ์ ๋ณํฉ ์ ๋๋ ์์ฝ๋ ์ฃผ๊ธฐ์ ๋ฐ๋ผ ์คํํ๋ ๊ณ์ธตํ ์ ๋ต์ ์ฑํํฉ๋๋ค. ์์ด์ ํธ ํฌ๊ธฐ ์กฐ์ , ์ค์บ ๋ณ๋ ฌํ ๋ฐ ๊ฒฐ๊ณผ ๋ณด์กด ์ ์ฑ ์ ๋ถ์์ ์ธ ๊ตฌ์ฑ์ด ์๋ ๋ฐฐํฌ ์ํคํ ์ฒ์ ์ผ๋ถ๊ฐ ๋ฉ๋๋ค.
๊ตฌ์กฐ์ ํ๊ณ๋ ๊ฐ๋ฐ์ ํผ๋๋ฐฑ ์ง์ฐ ๋ฐ ํตํฉ ๋ณต์ก์ฑ์์ ๋๋ฌ๋ฉ๋๋ค. Fortify์ ์ฌ์ธต์ ์ธ ๋ถ์ ๊ธฐ๋ฅ์ ๋ ๊ธด ์ค์บ ์๊ฐ๊ณผ ๋ ๋ณต์กํ ๊ฒฐ๊ณผ ๋ถ๋ฅ ๊ณผ์ ์ ์๋ฐํฉ๋๋ค. ์ฒด๊ณ์ ์ธ ์คํ์ง ์ต์ ๊ด๋ฆฌ๊ฐ ์๋ค๋ฉด ์คํ์ด ๋์ ๋์ด ์ค์บ ๊ฒฐ๊ณผ์ ๋ํ ์ ๋ขฐ๋๊ฐ ๋จ์ด์ง ์ ์์ต๋๋ค. ๋ํ Fortify๋ ๋ณด์์ ์ค์ ์ ๋๊ธฐ ๋๋ฌธ์ ํ์ง ์ค์ฌ ๋๊ตฌ๋ ์คํ ์ ๋ณด ๊ธฐ๋ฐ ๋ถ์ ํ๋ซํผ์ ๋์ฒดํ ์๋ ์์ต๋๋ค.
Azure DevOps ํ๊ฒฝ์์ Fortify๋ ์ ์ฑ ์์ค์ ๋ณด์ ๊ธฐ๊ด์ผ๋ก ํ์ฉ๋ ๋ ๊ฐ์ฅ ํจ๊ณผ์ ์ ๋๋ค. Fortify์ ์ญํ ์ ์ฅ์ ๋ฐ์ ์ ๊ท์ ๋๋ ํํ์ ์ฌ๊ฐํ ์ํฅ์ ๋ฏธ์น ์ ์๋ ์์คํ ์ ๋ํด ๋ฐฉ์ด ๊ฐ๋ฅํ๊ณ ๊ฐ์ฌ ๊ฐ๋ฅํ ๋ณด์ ํ๊ฐ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์ด๋ ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ ์ด๊ธฐ์ ์ฌ์ฉ๋๋ ๋ ๋น ๋ฅด๊ณ ์ํฉ ์ธ์์ด ๋ฐ์ด๋ ๋๊ตฌ๋ฅผ ๋ณด์ํ๋ ์ญํ ์ ํฉ๋๋ค.
Azure DevOps ํ๊ฒฝ์์ ๊ด๋ฆฌ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ์ํฌํ๋ก๋ฅผ ์ํ Checkmarx CxSAST
๊ณต์ ์ฌ์ดํธ: Checkmarx
Checkmarx CxSAST๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ ๋ถ์์ด ๊ด๋ฒ์ํ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ๊ฑฐ๋ฒ๋์ค ํ๋ก๊ทธ๋จ์ ํตํฉ๋ Azure DevOps ์กฐ์ง์์ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ์ํคํ ์ฒ ๋ชจ๋ธ์ ๊ฐ๋ณ์ ์ธ ์ค์บ ์คํ๋ณด๋ค๋ ์ํํธ์จ์ด ์ ๊ณต ์๋ช ์ฃผ๊ธฐ ์ ๋ฐ์ ๊ฑธ์น ์ค์ ์ง์ค์ ์ํ ๊ด๋ฆฌ, ์ ์ฑ ์ํ ๋ฐ ์ถ์ ์ฑ์ ๊ฐ์กฐํฉ๋๋ค. Azure DevOps์์ ํตํฉ์ ์ผ๋ฐ์ ์ผ๋ก ์ค์บ์ ํธ๋ฆฌ๊ฑฐํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ค์ ์ง์ค์ Checkmarx ํ๋ซํผ์ ๊ฒ์ํ์ฌ ์๊ด ๊ด๊ณ ๋ถ์ ๋ฐ ๊ฑฐ๋ฒ๋์ค๋ฅผ ์ํํ๋ ํ์ดํ๋ผ์ธ ์์ ์ ํตํด ๊ตฌํ๋ฉ๋๋ค.
์คํ ๊ด์ ์์ Checkmarx๋ ํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋ธ๋ก ์๋ํฉ๋๋ค. ์ค์บ ์คํ์ ๋ฐฐํฌ ๊ตฌ์ฑ์ ๋ฐ๋ผ Azure ํ์ดํ๋ผ์ธ ์์ด์ ํธ ๋ด์์ ๋๋ Checkmarx ํ๋ซํผ์์ ๊ด๋ฆฌํ๋ ์๊ฒฉ ์์ง์ ํตํด ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ถ๋ฆฌ๋ฅผ ํตํด ๊ธฐ์ ์ ์ค์บ ์ฑ๋ฅ์ ๋น๋ ์ธํ๋ผ์ ๋ถ๋ฆฌํ ์ ์์ง๋ง, ์กฐ์ ๋ณต์ก์ฑ์ด ๋ฐ์ํฉ๋๋ค. ํ์ดํ๋ผ์ธ์ ๊ฒฐ์ ์ฑ์ Azure DevOps์ ์ค์บ ๋ฐฑ์๋ ๊ฐ์ ์ผ๊ด๋ ์์ง ๊ตฌ์ฑ, ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋คํธ์ํฌ ์์ ์ฑ์ ๋ฌ๋ ค ์์ต๋๋ค.
๊ฐ๊ฒฉ ์ฑ ์ ๋ฐฉ์์ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ํ๋ก๊ทธ๋จ๊ณผ ์ฐ๊ณ๋์ด ์์ผ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์, ์ค์บ ๋ณผ๋ฅจ ๋๋ ์ํฐํ๋ผ์ด์ฆ ๋ผ์ด์ ์ค ๊ณ์ฝ์ ๊ธฐ์ค์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ฌํ ๊ฐ๊ฒฉ ๋ชจ๋ธ์ ์ธ๋ถ์ ๋ ธ์ถ๋ ์๋น์ค, ๊ท์ ๋์ ์ํฌ๋ก๋ ๋๋ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์์คํ ์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ์ฌ ์ ํ์ ์ธ ์จ๋ณด๋ฉ์ ์ ๋ํฉ๋๋ค. ๋๊ท๋ชจ Azure DevOps ํ๊ฒฝ์์๋ ๋ชจ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ๊ท ์ผํ ์ค์บ๋ณด๋ค๋ ๊ณ์ธตํ๋ ์ค์บ ๋ฒ์๊ฐ ์ ์ฉ๋ฉ๋๋ค.
๊ธฐ๋ฅ์ ์ธ ์ธก๋ฉด์์ Checkmarx๋ ์ทจ์ฝ์ ๋ฐ๊ฒฌ, ์ํ ์ ์ ์ฐ์ , ํด๊ฒฐ ์ํฌํ๋ก์ฐ์ ์ค์ ์ ๋ ๋ณด์ ์ค์ฌ์ ์ ์ ๋ถ์์ ๊ฐ์ ์ ๋ณด์ ๋๋ค. Checkmarx์ ๋ถ์ ์์ง์ ์ผ๋ฐ์ ์ธ ์ทจ์ฝ์ ์ ํ์ ๋ํ ๋ฐ์ดํฐ ํ๋ฆ ๋ฐ ์ ์ด ๊ตฌ์กฐ์ ์ฌ์ธต ๊ฒ์ฌ๋ฅผ ์ง์ํฉ๋๋ค. ๋ณด์ ํ์ ์ค์ ์ง์ค์ ๋์๋ณด๋ ๋ฐ ๋ณด๊ณ ๊ธฐ๋ฅ์ ํตํด ์ฌ๋ฌ ํ๋ก์ ํธ์ ๊ฑธ์ณ ์ผ๊ด๋ ์ํ ํด์์ ํ ์ ์์ผ๋ฉฐ, ์ด๋ ๊ฐ์ฌ ๋ฐ ๊ท์ ์ค์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ด์ ๊ท๋ชจ ํ์ฅ์ ์ฌ๋ฌ ์ ์ฝ์ ์ด๋ํฉ๋๋ค. ์ ์ฒด ๊ฒ์ฌ๋ ์๊ฐ์ด ๋ง์ด ์์๋ ์ ์์ด ๊ณ ์ ํ์ดํ๋ผ์ธ์์ ํ ๋ฆฌํ์คํธ๋ณ๋ก ์คํํ๋ ๋ฐ ํ๊ณ๊ฐ ์์ต๋๋ค. ๊ธฐ์ ๋ค์ ๊ฐ๋ฐ ์ค์ ์ ์ง์ ๋๋ ๋ถ๋ถ ๊ฒ์ฌ๋ฅผ ์คํํ๊ณ , ๋ณํฉ ์์ ์ด๋ ์์ ๋ ๋ณด์ ์ฃผ๊ธฐ์์ ์ ์ฒด ๊ฒ์ฌ๋ฅผ ์ํํ๋ ๋จ๊ณ๋ณ ๊ฒ์ฌ ์ ๋ต์ ํํ ์ฑํํฉ๋๋ค. ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ํ์ดํ๋ผ์ธ ์ค๋จ์ ์ต์ํํ์ง๋ง, ๊ฒ์ฌ ๋ฒ์์ ๋ํ ์คํด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ช ํํ ์์ฌ์ํต์ด ํ์์ ์ ๋๋ค.
๊ตฌ์กฐ์ ์ ์ฝ์ ๊ฐ๋ฐ์ ๊ฒฝํ๊ณผ ํผ๋๋ฐฑ ์์ ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. Checkmarx๋ ๊ฑฐ๋ฒ๋์ค์ ๋ณด์ ๋ณด์ฆ์ ์ฐ์ ์ํ๊ธฐ ๋๋ฌธ์, ๊ฒฝ๋ํ ๋๋ ์คํ ์ธ์ ๋๊ตฌ์ ๋นํด ๋ฐ๊ฒฌ ์ฌํญ์ด ๋ฐฐํฌ ํ๋ก์ธ์ค ํ๋ฐ์ ์ ๋ฌ๋ ์ ์์ต๋๋ค. Azure DevOps ์ํฌํ๋ก์ ์ ์คํ๊ฒ ํตํฉํ์ง ์์ผ๋ฉด ๋ณด์ ํผ๋๋ฐฑ์ด ๋ฐฐํฌ ํ๋ก์ธ์ค์ ์ผ๋ถ๊ฐ ์๋ ์ธ๋ถ์ ์ธ ๊ฒ์ผ๋ก ์ธ์๋ ์ ์์ต๋๋ค.
Azure DevOps ์ํคํ ์ฒ์์ Checkmarx๋ ํ์ดํ๋ผ์ธ ๋ค์ดํฐ๋ธ ์ค์บ๋๋ฅผ ๋ณด์ํ๋ ์ค์ ์ง์ค์ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์(AppSec) ๋๊ตฌ๋ก ํ์ฉ๋ ๋ ์ต์์ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. ์ผ๊ด๋ ์ํ ์ ์ ์ฐ์ , ๊ท์ ์ค์ ๋ณด๊ณ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ ๊ฐ์์ฑ์ด ์ฆ๊ฐ์ ์ด๊ณ ์ธ๋ถ์ ์ธ ๊ฐ๋ฐ์ ํผ๋๋ฐฑ๋ณด๋ค ๋ ์ค์ํ ๊ฒฝ์ฐ์ Checkmarx์ ๊ฐ์น๊ฐ ๊ฐ์ฅ ๋์ต๋๋ค.
Azure DevOps ํ์ดํ๋ผ์ธ์์ ๋น ๋ฅด๊ณ ๊ท์น ๊ธฐ๋ฐ์ ์ ์ ๋ถ์์ ์ํ Semgrep
๊ณต์ ์ฌ์ดํธ: Semgrep
Semgrep์ ์ค์ ์ง์ค์ ์ ์ฑ ์ํ๋ณด๋ค๋ ์๋, ๊ท์น ํฌ๋ช ์ฑ ๋ฐ ์ฌ์ฉ์ ์ง์ ์ ์ฐ์ฑ์ด ์ฐ์ ์๋๋ Azure DevOps ํ๊ฒฝ์ ์ฃผ๋ก ๋์ ๋ฉ๋๋ค. Semgrep์ ์ํคํ ์ฒ ๋ชจ๋ธ์ ์๋์ ์ผ๋ก ๊ฒฝ๋ํ๋์์ต๋๋ค. ๋ถ์์ CLI ๊ธฐ๋ฐ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ํ์ดํ๋ผ์ธ ์์ด์ ํธ ๋ด์์ ์ง์ ์คํ๋๋ฉฐ, ๊ฒฐ๊ณผ๋ ๋น๋ ๋๋ ํ ๋ฆฌํ์คํธ ์ํฌํ๋ก์ ์ผ๋ถ๋ก ์ฆ์ ์์ฑ๋ฉ๋๋ค. ๋ฐ๋ผ์ Semgrep์ ๊ฐ๋ ฅํ ์ค์บ๋ ํ๋ซํผ์ ๋์ ํ์ง ์๊ณ ๋ ์ ์ํ ํผ๋๋ฐฑ์ ์ํ๋ ์กฐ์ง์ ์ ํฉํฉ๋๋ค.
Azure Pipelines์์ ๊ท์น ์ธํธ์ Semgrep ๋ฒ์ ์ ๊ณ ์ ํ๋ฉด ์คํ ๋์์ด ๋งค์ฐ ์์ธก ๊ฐ๋ฅํฉ๋๋ค. Semgrep์ ์ ์ฒด ๋น๋๋ ์ค๊ฐ ํํ ์์ด ์ฃผ๋ก ์์ค ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ํ๊ธฐ ๋๋ฌธ์, ๊ท๋ชจ๊ฐ ์ค๊ฐ ์ ๋์ธ ๋ฆฌํฌ์งํ ๋ฆฌ์์๋ ์ค์บ ์๊ฐ์ด ์ผ๋ฐ์ ์ผ๋ก ์งง์ต๋๋ค. ์ด๋ฌํ ํน์ฑ ๋๋ถ์ ํ์ดํ๋ผ์ธ ์คํ ์๊ฐ์ ํฌ๊ฒ ๋๋ฆฌ์ง ์๊ณ ๋ ๋ชจ๋ ํ ๋ฆฌํ์คํธ๋ฅผ ํฌํจํ์ฌ ๋น๋ฒํ๊ฒ ์คํํ ์ ์์ต๋๋ค. ๊ธฐ์ ๋ค์ ์ด๋ฌํ ํน์ฑ์ ํ์ฉํ์ฌ ๋ณด์ ๋ฐ ํ์ง ๊ด๋ จ ํผ๋๋ฐฑ์ ๋ฐฐํฌ ์๋ช ์ฃผ๊ธฐ ์ด๊ธฐ์ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
Semgrep ์ปค๋ฎค๋ํฐ ์๋์ ๋๋ Semgrep AppSec ํ๋ซํผ ์ค ์ด๋ค ๋ฐฉ์์ ์ฌ์ฉํ๋์ง์ ๋ฐ๋ผ ๊ฐ๊ฒฉ ํน์ฑ์ด ๋ฌ๋ผ์ง๋๋ค. ์ปค๋ฎค๋ํฐ ์๋์ ์ ์ค์ ์ง์ค์ ๊ฑฐ๋ฒ๋์ค ์์ด ๊ท์น ์คํ ๊ธฐ๋ฅ๋ง ์ ๊ณตํ๋ ๋ฐ๋ฉด, ์ ๋ฃ ํ๋ซํผ์ ์ค์ ์ง์ค์ ๊ฒฐ๊ณผ ๊ด๋ฆฌ, ๊ท์น ๋ฐฐํฌ, ๋ถ์ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. Azure DevOps ํ๊ฒฝ์์๋ ์ด๋ฌํ ์ฐจ์ด๊ฐ ์ด์ ์ธก๋ฉด์์ ์ค์ํฉ๋๋ค. ์ปค๋ฎค๋ํฐ ์๋์ ์ ์ฌ์ฉํ๋ ํ์ ์์จ์ฑ๊ณผ ์๋๋ฅผ ํ๋ณดํ ์ ์์ง๋ง, ๋ฆฌํฌ์งํ ๋ฆฌ ๊ฐ์ ๊ท์น์ด ์๋ก ๋ค๋ฅผ ๊ฒฝ์ฐ ํํธํ๋ ์ํ์ด ์์ต๋๋ค. ์ ๋ฃ ํ๋ซํผ์ ์ค์ ์ง์ค์ ์ ์ด๋ฅผ ํตํด ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง๋ง, ์ด์ํด์ผ ํ ๋ ๋ค๋ฅธ ๊ฑฐ๋ฒ๋์ค ์์คํ ์ด ์ถ๊ฐ๋ฉ๋๋ค.
๊ธฐ๋ฅ์ ์ธ ์ธก๋ฉด์์ Semgrep์ ๊ฐ์ ์ ๊ท์น ์์ฑ ๋ฐ ์ ์์ฑ์ ์์ต๋๋ค. ๊ท์น์ ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ฐ๋ฉฐ ๊ธฐ์ ์ฝ๋ฉ ํ์ค, ์ํคํ ์ฒ ์ ์ฝ ์กฐ๊ฑด ๋๋ ์กฐ์ง๋ณ ์ทจ์ฝ์ ํจํด์ ๋ง๊ฒ ์กฐ์ ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ Semgrep์ ์ผ๋ฐ์ ์ธ ๋๊ตฌ๋ก๋ ๊ฐ์งํ๊ธฐ ์ด๋ ค์ด ๊ธ์ง๋ API, ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ํ๋ ์์ํฌ ๋๋ ์์ ํ์ง ์์ ๊ตฌ์ฑ ํจํด๊ณผ ๊ฐ์ ์ง์ญํ๋ ์ ์ฑ ์ ์ํํ๋ ๋ฐ ํนํ ํจ๊ณผ์ ์ ๋๋ค. Azure DevOps์์๋ ์ด๋ฌํ ๊ท์น์ ํ์ดํ๋ผ์ธ ํ ํ๋ฆฟ์ ์ง์ ํฌํจํ์ฌ ํ ๊ฐ ์ผ๊ด์ฑ์ ๊ฐํํ ์ ์์ต๋๋ค.
์ฌ์ธต์ ์ธ ์๋ฏธ ๋ถ์์ด ํ์ํ ๋ ๊ตฌ์กฐ์ ํ๊ณ๊ฐ ๋๋ฌ๋ฉ๋๋ค. Semgrep์ ํจํด ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ CodeQL์ด๋ ์ ์ฑ ๊ธฐ๋ฐ SAST ํ๋ซํผ๋งํผ ์ ์ฐจ ๊ฐ ๋ฐ์ดํฐ ํ๋ฆ ์ถ๋ก ์ ์ ๊ณตํ์ง ๋ชปํฉ๋๋ค. ๋ฐ๋ผ์ ์ฌ๋ฌ ์คํ ๊ณ์ธต์ ๊ฑธ์ณ ์๊ฑฐ๋ ๋ฏธ๋ฌํ ๋ฐํ์ ๋์์ ์์กดํ๋ ๋ณต์กํ ์ทจ์ฝ์ ์ ํ์ ๋ํ ํจ๊ณผ๊ฐ ์ ํ๋ฉ๋๋ค. ๋ํ, ์ฒด๊ณ์ ์ธ ๊ท์น ๊ด๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง์ง ์์ผ๋ฉด ๋๊ท๋ชจ ๊ธฐ์ ์์๋ ๊ท์น์ด ๋ฌด๋ถ๋ณํ๊ฒ ํ์ฐ๋์ด ์ผ๊ด์ฑ ์๋ ์ ํธ๊ฐ ๋ฐ์ํ๊ณ ๋ฌธ์ ํด๊ฒฐ์ ํ์ํ ๋ ธ๋ ฅ์ด ์ฆ๊ฐํ ์ ์์ต๋๋ค.
๋๊ท๋ชจ ํ๊ฒฝ์์ Semgrep์ Azure DevOps ํ์ดํ๋ผ์ธ ๋ด์์ ๋น ๋ฅธ ํผ๋๋ฐฑ ๊ณ์ธต์ผ๋ก ๊ฐ์ฅ ํจ๊ณผ์ ์ผ๋ก ์๋ํฉ๋๋ค. Semgrep์ ๋ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ๋ณด์ํ์ฌ ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๊ณ ์กฐ์ง๋ณ ํ์ค์ ์ ์ฉํ๋ ๋ฐ ๋์์ ์ค๋๋ค. ๋ฐ๋ฉด, ๋ฆฌ์์ค ์ง์ฝ์ ์ธ ๋ถ์ ๋๊ตฌ๋ ๋ฐฐํฌ ํ๋ก์ธ์ค ํ๋ฐ๋ถ์์ ์ฌ์ธต์ ์ธ ๋ณด์ ํ๊ฐ ๋ฐ ๊ท์ ์ค์ ๋ณด๊ณ ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
Polaris ๊ธฐ๋ฐ Coverity๋ฅผ โโ์ฌ์ฉํ์ฌ ๋๊ท๋ชจ ๋ฐ ์์ ์ค์ ์ฝ๋๋ฒ ์ด์ค์์ ์ฌ์ธต์ ์ธ ๊ฒฐํจ์ ํ์งํฉ๋๋ค.
๊ณต์ ์ฌ์ดํธ: Polaris์ Coverity
Polaris ๊ธฐ๋ฐ Coverity๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ, ๋์์ฑ ์ค๋ฅ, ๋ฆฌ์์ค ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ์ ๊ฐ์ ์ ์์ค ๋์๊ณผ ๊ด๋ จ๋ ๊ฒฐํจ ์ ํ์ ์ ์ ๋ถ์์ผ๋ก ํด๊ฒฐํด์ผ ํ๋ Azure DevOps ํ๊ฒฝ์ ๋์ ๋ฉ๋๋ค. Coverity์ ์ํคํ ์ฒ ๋ชจ๋ธ์ ์ด๋ฌํ ์ด์ ์ ๋ฐ์ํฉ๋๋ค. ๋ถ์์ ๊ณ ๊ธ ์๋ฏธ ๋ชจ๋ธ๋ง ๋ฐ ๊ฒฝ๋ก ๊ฐ์ง ๊ธฐ๋ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ํนํ C, C++ ๋ฐ ๊ธฐํ ์ธ์ด์์ ๋ฐํ์ ์ค๋ฅ๊ฐ ๋ฏธ๋ฌํ ์ ์ด ๋ฐ ๋ฐ์ดํฐ ํ๋ฆ ์ํธ ์์ฉ์์ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ ํจ๊ณผ์ ์ ๋๋ค.
Azure DevOps ํ์ดํ๋ผ์ธ์์ Polaris์ฉ Coverity๋ ์ผ๋ฐ์ ์ผ๋ก Polaris ํ๋ซํผ์ ๋ํ ์ค์บ์ ํธ์ถํ๋ ์ ์ฉ ํ์ดํ๋ผ์ธ ์์ ์ ํตํด ํตํฉ๋ฉ๋๋ค. ๊ฒฝ๋ ์ค์บ๋์ ๋ฌ๋ฆฌ Coverity๋ ์ปดํ์ผ ๋จ์์ ์ธ์ด ์๋ฏธ๋ก ์ ์ ํํ๊ฒ ๋ชจ๋ธ๋งํ๊ธฐ ์ํด ๋ณด๋ค ๋ช ํํ ๋น๋ ์บก์ฒ ๋จ๊ณ๋ฅผ ํ์๋ก ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ก ์ธํด ํ๋ซํผ ํ์ ์์ด์ ํธ ํฌ๊ธฐ ์กฐ์ , ๋น๋ ์ฌํ์ฑ, ๊ฒฐ์ ์ฑ์ ์ ์งํ๊ธฐ ์ํ ๋น๋ ๋ฐ ์ค์บ ๋จ๊ณ ๋ถ๋ฆฌ ๋ฑ ์คํ ๊ด๋ จ ๊ณ ๋ ค ์ฌํญ์ ๊ณํํด์ผ ํฉ๋๋ค.
๊ฐ๊ฒฉ ์ฑ ์ ๋ฐฉ์์ ๊ธฐ์ ๋ฐ ์์ ํ์ ์ฌ์ฉ ์ฌ๋ก์ ๋ง์ถฐ์ ธ ์์ต๋๋ค. ๋ผ์ด์ ์ค๋ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๋ฐ์๋ณ ๋ชจ๋ธ์ด ์๋ ์ฌ์ฉ๋ ๋ฑ๊ธ, ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ์ ๋๋ ๊ธฐ์ ๊ณ์ฝ์ ์ค์ฌ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ฌํ ๊ฐ๊ฒฉ ๋ชจ๋ธ์ ๋ชฉํ ์งํฅ์ ์ธ ๋ฐฐํฌ๋ฅผ ์ฅ๋ คํฉ๋๋ค. ๊ธฐ์ ์ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ Azure DevOps ๋ฆฌํฌ์งํ ๋ฆฌ์ Coverity๋ฅผ โโ๋ณดํธ์ ์ผ๋ก ์ ์ฉํ๊ธฐ๋ณด๋ค๋ ์๋ฒ ๋๋ ๊ตฌ์ฑ ์์, ๊ธ์ต ๊ฑฐ๋ ์์ง ๋๋ ์ธํ๋ผ ์์ค ์๋น์ค์ ๊ฐ์ด ๊ฒฐํจ์ ์ํฅ์ด ์ฌ๊ฐํ ์์คํ ์ ์ฐ์ ์ ์ผ๋ก ์ ์ฉํฉ๋๋ค.
๊ธฐ๋ฅ์ ์ธ ์ธก๋ฉด์์ Coverity์ ๊ฐ์ ์ ํจํด ๊ธฐ๋ฐ ๋ถ์์ด๋ ํผ์์ ์ธ ์๋ฏธ ๋ถ์์ผ๋ก๋ ํ์งํ๊ธฐ ์ด๋ ค์ด ๊ฒฐํจ ํจํด์ ์๋ณํ๋ ๋ฅ๋ ฅ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๋์, ํด์ ํ ์ฌ์ฉ ์ค๋ฅ, ๊ฒฝ์ ์กฐ๊ฑด, ๋ณต์กํ ๋ ์ญ์ฐธ์กฐ ๊ฒฝ๋ก ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. ์๊ฒฉํ ์ ๋ขฐ์ฑ ๋๋ ์์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํด์ผ ํ๋ ๊ธฐ์ ์ ๊ฒฝ์ฐ, ์ด๋ฌํ ์์ค์ ๋ถ์์ ํนํ ํ ์คํธ ์ค์ ๊ฒฐํจ์ด ๋๋ฌ๋์ง ์์ ์ ์๋ ์ํฉ์์ ์ ํ ์ถ์ ์ค๋น ์ํ์ ๋ํ ํ์ ์ ๋์ฌ์ค๋๋ค.
์ด์ ๊ท๋ชจ ํ์ฅ์ ๋ช ์์ ์ผ๋ก ๊ด๋ฆฌํด์ผ ํ๋ ์ ์ฝ ์กฐ๊ฑด์ ๋ฐ์์ํต๋๋ค. Coverity ์ค์บ์ ๊ณ์ฐ ์ง์ฝ์ ์ด๋ฏ๋ก ๊ณ ์ ํ์ดํ๋ผ์ธ์์ ๋ชจ๋ ํ ๋ฆฌํ์คํธ์ ๋ํด ์คํํ๊ธฐ์ ์ ํฉํ์ง ์์ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ์ ์ ๋จ๊ณ์ ์ ๊ทผ ๋ฐฉ์์ ์ฑํํ์ฌ ๋ฉ์ธ ๋ธ๋์น ๋ณํฉ ์, ์ผ๊ฐ ๋น๋ ์ค ๋๋ ๊ณต์ ๋ฆด๋ฆฌ์ค ๊ฒ์ฆ์ ์ผ๋ถ๋ก ์ค์บ์ ์คํํฉ๋๋ค. ์ด ์ ๋ต์ ๋ถ์ ๊น์ด์ ํ์ดํ๋ผ์ธ ์ฒ๋ฆฌ๋ ์ฌ์ด์ ๊ท ํ์ ์ ์งํ์ง๋ง, ์ปค๋ฒ๋ฆฌ์ง ์ ํ์ ๋ํ ์คํด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ช ํํ ์์ฌ์ํต์ด ํ์์ ์ ๋๋ค.
๊ตฌ์กฐ์ ์ ์ฝ ์ฌํญ์ผ๋ก๋ ํผ๋๋ฐฑ ์ฃผ๊ธฐ๊ฐ ๊ธธ๊ณ ์ง์๋๋ ์ธ์ด ์์ญ ์ธ์๋ ์ ์ฉ์ด ์ ํ์ ์ด๋ผ๋ ์ ์ด ์์ต๋๋ค. Coverity๋ ๋ฒ์ฉ ํ์ง ๊ฒ์ฌ ๋๊ตฌ๋ก ์ฌ์ฉ๋๊ฑฐ๋ ๋ค์ํ ์คํ์์ ๊ด๋ฒ์ํ ์ธ์ด ์ง์์ ์ ๊ณตํ๋๋ก ์ค๊ณ๋์ง ์์์ต๋๋ค. Coverity๋ Azure DevOps ์ ๊ณต ์๋ช ์ฃผ๊ธฐ ์ด๊ธฐ์ ๋ ๋น ๋ฅด๊ณ ์ ์ฐํ ๋๊ตฌ๋ฅผ ๋ณด์ํ๋ ํน์ ๋ถ์ ๊ณ์ธต์ผ๋ก ์ฌ์ฉํ ๋ ๊ทธ ๊ฐ์น๋ฅผ ๊ทน๋ํํฉ๋๋ค.
์ํฐํ๋ผ์ด์ฆ Azure DevOps ์ํคํ ์ฒ์์ Polaris ๊ธฐ๋ฐ Coverity๋ ๋์ ์์ค์ ๋ถ์ ์์ง์ผ๋ก์ ์ต์ ์ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. Coverity์ ์ญํ ์ ์ฅ์ ํ์ฉ์น๊ฐ ๋ฎ์ ์์คํ ์์ ์ด์์ ํฐ ์ํฅ์ ๋ฏธ์น๋ ๊ฒฐํจ ์ ํ์ ์ฐพ์๋ด์ด, ์ฒด๊ณ์ ์ธ ํ์ดํ๋ผ์ธ ์คํ ๋ฐ ๊ฑฐ๋ฒ๋์ค ๊ดํ๊ณผ ์ฐ๊ณ๋ ๋ ๋ฐฐํฌ ์ ๋ขฐ๋๋ฅผ ๋์ด๋ ๊ฒ์ ๋๋ค.
Azure DevOps ํ์ดํ๋ผ์ธ์์ ์ฌ์ฉ๋๋ ์ํฐํ๋ผ์ด์ฆ ์ ์ ๋ถ์ ๋๊ตฌ์ ๋ํ ๋น๊ต ๋ถ์
๋ค์ ๋น๊ตํ๋ ์์์ ์ค๋ช ํ ์ ์ ๋ถ์ ๋๊ตฌ๋ฅผ ๋จ์ผ ์ํคํ ์ฒ ๊ด์ ์ผ๋ก ํตํฉํฉ๋๋ค. ์ด ํ๋ ํ๋ซํผ ์ฑ ์์, ๋ณด์ ์ค๊ณ์ ๋ฐ ๋ฐฐํฌ ๋ด๋น์๊ฐ ๊ธฐ๋ฅ ์ฐจ์ด๋ฟ๋ง ์๋๋ผ ๊ฐ ๋๊ตฌ๊ฐ Azure DevOps ์คํ ๋ชจ๋ธ, ๊ฑฐ๋ฒ๋์ค ๊ธฐ๋์น ๋ฐ ํ์ฅ ์๋ ฅ ํ์์ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋๋ก ์์ฑ๋์์ต๋๋ค.
์ด ๋น๊ต๋ ๋ง์ผํ ์ฃผ์ฅ๋ณด๋ค๋ ์คํ ํน์ฑ, ๊ฐ๊ฒฉ ์ฑ ์ ๋ฐฉ์, ํ์ฅ์ฑ ์ ์ฝ ๋ฐ ๊ตฌ์กฐ์ ํ๊ณ์ ์ค์ ์ ๋ก๋๋ค. ์ด๋ฌํ ๊ด์ ์ ํ์ดํ๋ผ์ธ ํ์ ์ฑ, ์ฆ๊ฑฐ ๋ฌด๊ฒฐ์ฑ ๋ฐ ๋ถ๋ฅ ํ์ฅ์ฑ์ด ๋จ์ํ ๊ท์น ๊ฐ์๋ณด๋ค ๋ ์ค์ํ ๊ธฐ์ ํ๊ฒฝ์์ ์ด๋ฌํ ๋๊ตฌ๋ค์ด ์ค์ ๋ก ์ด๋ป๊ฒ ํ๊ฐ๋๋์ง๋ฅผ ๋ฐ์ํฉ๋๋ค.
| ์๋จ | ์ฃผ์ ์ด์ | Azure DevOps ํตํฉ ๋ชจ๋ธ | ๋ถ์ ์ฌ๋ | ๊ฐ๊ฒฉ ํน์ฑ | ๊ธฐ์ ๊ท๋ชจ ํ์ฅ์ ํ์ค | ๊ตฌ์กฐ์ ํ๊ณ |
|---|---|---|---|---|---|---|
| ์๋ํ๋ธ | ์ฝ๋ ํ์ง ๋ฐ ์ ์ง๋ณด์์ฑ ๊ฒ์ดํธ | ์๋ฒ ๊ธฐ๋ฐ ๋ถ์ ๋ฐ ์ค์ ์ง์ค์ ํ์ง ๊ฒ์ดํธ๋ฅผ ๊ฐ์ถ ํ์ดํ๋ผ์ธ ์์ | ๊ท์น ๊ธฐ๋ฐ, ๋ค๊ตญ์ด ์ง์, ์ ํ๋ ์๋ฏธ ๊น์ด | ์ผ๋ฐ์ ์ผ๋ก LOC(๋กํธ ์) ๋ฐ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๋ฑ๊ธ์ด ๋๋ฉ๋๋ค. | ๋ฆฌํฌ์งํ ๋ฆฌ ์๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ํ๋ซํผ ์์ค์ ์ฉ๋ โโ๊ณํ์ด ํ์ํ๋ฉฐ, ํ์ดํ๋ผ์ธ ๋น๋ ๋ณ๋์ ๋ฏผ๊ฐํฉ๋๋ค. | ์คํ ๊ฒฝ๋ก ๋ฐ ์ข ์์ฑ ์ธ์ ๊ธฐ๋ฅ์ด ์ ํ์ ์ด๋ฉฐ, ๋ณด์ ์์ค์ ๋ถ์ฐจ์ ์ธ ๋ฌธ์ ์ ๋๋ค. |
| ๋ง์ดํฌ๋ก์ํํธ ๋ณด์ DevOps | ํ์คํ๋ ๋ณด์ ๊ฒ์ฌ ๋ฐ ์ฆ๊ฑฐ ์ ๊ทํ | Azure DevOps ํ์ฅ ํ๋ก๊ทธ๋จ์์ SARIF ์ถ๋ ฅ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๋ถ์๊ธฐ๋ฅผ ์ค์ผ์คํธ๋ ์ด์ ํฉ๋๋ค. | ๊ธฐ๋ณธ ๋๊ตฌ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ, ์ฃผ๋ก ํจํด ๋ฐ ๊ตฌ์ฑ ๊ธฐ๋ฐ์ ๋๋ค. | ์ผ๋ฐ์ ์ผ๋ก ํ๋ก์ ํธ๋ณ ๋ผ์ด์ ์ค๋ณด๋ค๋ ํ๋ซํผ ์ค์ฌ์ ๋ผ์ด์ ์ค๊ฐ ๋ ์ ๋ฆฌํฉ๋๋ค. | ๊ตฌ์ฑ ์ค์ ์ด ์ค์์์ ๊ด๋ฆฌ๋๋ ๊ฒฝ์ฐ ๊ด๋ฒ์ํ ์ ์ฉ ๋ฒ์์ ๊ฑธ์ณ ํ์ฅ์ฑ์ด ๋ฐ์ด๋ฉ๋๋ค. | ์ ํ์ ์ธ ์ฌ์ธต ์๋ฏธ ๋ถ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ๊ณ ๊ธ ์๋๋ฆฌ์ค์๋ ๋ณด์์ ์ธ ๋๊ตฌ๋ฅผ ํ์ฉํฉ๋๋ค. |
| GitHub ๊ณ ๊ธ ๋ณด์(CodeQL) | ์ฌ์ธต ์๋ฏธ๋ก ๋ฐ ๋ฐ์ดํฐ ํ๋ฆ ๋ณด์ ๋ถ์ | Azure Repos ์ํฌํ๋ก์ CodeQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ๋ฐ ์ค์บ ๊ธฐ๋ฅ์ด ํตํฉ๋์์ต๋๋ค. | ์ง์ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ํ๋ฆ ์ถ๋ก ์ ํตํ ๋์ ์๋ฏธ ์ฌ๋ | GitHub Advanced Security์ ๋ง์ถฐ ์กฐ์ ๋ ์ํฐํ๋ผ์ด์ฆ ๋ณด์ ๋ผ์ด์ ์ค | ๊ณ์ฐ๋์ด ๋ง์ผ๋ฉฐ, ์์ด์ ํธ ์ ๋ต, ์บ์ฑ ๋ฐ ์ ํ์ ์คํ์ด ํ์ํฉ๋๋ค. | ์ผ๋ฐ์ ์ธ ํ์ง ๊ฒ์ฌ ์ฉ๋๋ก ์ค๊ณ๋์ง ์์์ผ๋ฉฐ, ์ง์ ๊ด๋ฆฌ๋ก ์ธํด ์ด์ ๋ถ๋ด์ด ์ฆ๊ฐํฉ๋๋ค. |
| OpenText Fortify SCA | ์ ์ฑ ์์ค์ SAST ๋ฐ ๊ท์ ์ค์ ์งํ | Fortify ํ๋ซํผ์ ํตํ ์ค์ ์ง์ค์ ๊ฑฐ๋ฒ๋์ค๋ฅผ ๊ฐ์ถ Azure DevOps ์์ | ์ฌ์ธต์ ์ธ ๋ณด์ ์ค์ฌ ๋ถ์ ๋ฐ ์ฑ์ํ ์ทจ์ฝ์ ๋ถ๋ฅ ์ฒด๊ณ | ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ๋ผ์ด์ ์ค๋ ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ์ค์บ ๋ณผ๋ฅจ์ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค. | ๊ณ ์ํ ์์คํ ์ ์ ๋ณ์ ์จ๋ณด๋ฉ์ ๊ฐ์ฅ ์ ํฉํ๋ฉฐ, ๊ณผ๋ํ ์ค์บ์ผ๋ก ์ธํด PR ์ฌ์ฉ์ด ์ ํ๋ ์ ์์ต๋๋ค. | ๊ธด ํผ๋๋ฐฑ ์ฃผ๊ธฐ; ์คํ์ง์จ ์ฆ๊ฐ๋ก ์ธํ ์กฐ์ ๋ ธ๋ ฅ ์ฆ๊ฐ; ๋ณด์ ์ค์ฌ์ ์ ๊ทผ |
| ์ฒดํฌ๋ง๋ฅดํฌ์ค CxSAST | ๊ด๋ฆฌํ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ํ๋ก๊ทธ๋จ | ํ์ดํ๋ผ์ธ ๊ธฐ๋ฐ ์ค์บ ๋ฐ ์ค์ ์ง์ค์ ์ํ ๋์๋ณด๋ | ๋ฐ์ดํฐ ํ๋ฆ ๊ฒ์ฌ๋ฅผ ํตํ ๊ฐ๋ ฅํ ๋ณด์ ๋ถ์ | ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ํ๋ก๊ทธ๋จ์ ๋ง์ถ ๊ธฐ์ ๋ผ์ด์ ์ค | ์ผ๋ฐ์ ์ผ๋ก ํ์ดํ๋ผ์ธ ์ํฅ ๊ด๋ฆฌ๋ฅผ ์ํด ๊ณ์ธตํ ์ค์บ๋ ๋ชจ๋ธ์ ๋ฐฐํฌ๋ฉ๋๋ค. | ๊ฐ๋ฐ์ ํผ๋๋ฐฑ ์๋๊ฐ ๋๋ ค ์ ์ํ PR๊ธ ์กฐ์น์ ์ ํฉํ์ง ์์ |
| ์ ๊ทธ๋ | ๋น ๋ฅด๊ณ ๋ง์ถค ์ค์ ์ด ๊ฐ๋ฅํ ๊ท์น ๊ธฐ๋ฐ ์ค์บ | Azure ํ์ดํ๋ผ์ธ ์์ด์ ํธ์์ CLI๋ฅผ ์ง์ ์คํ | ํจํด ๊ธฐ๋ฐ์ด๋ฉฐ ์ ์ฐจ ๊ฐ ๊น์ด๊ฐ ์ ํ์ ์ ๋๋ค. | ์ปค๋ฎค๋ํฐ ์๋์ ๊ณผ ์ค์ ์ง์ค์ ๊ด๋ฆฌ๋ฅผ ์ํ ์ ๋ฃ ํ๋ซํผ์ด ์ถ๊ฐ๋์์ต๋๋ค. | ์ ์ฅ์ ์ ๋ฐ์ ๊ฑธ์ณ ์์ฝ๊ฒ ํ์ฅ ๊ฐ๋ฅํ์ง๋ง, ๊ท์น ๋ถ์ผ์น๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๊ฑฐ๋ฒ๋์ค๊ฐ ํ์ํฉ๋๋ค. | ์ ํ์ ์ธ ์ฌ์ธต ์๋ฏธ ์ถ๋ก ๊ธฐ๋ฅ; ํจ์จ์ฑ์ ๊ท์น์ ํ์ง์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. |
| ํด๋ผ๋ฆฌ์ค์ ์ปค๋ฒ๋ฆฌํฐ | ์ ์์ค ์ฝ๋์์ ๋์ ์์ค์ ๊ฒฐํจ ํ์ง | ๋น๋ ์บก์ฒ ๋ฐ ์๊ฒฉ ๋ถ์ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ ์ฉ ํ์ดํ๋ผ์ธ ์์ | ๋งค์ฐ ์ฌ์ธต์ ์ธ ์๋ฏธ๋ก ์ ๋ฐ ๊ฒฝ๋ก ๋ฏผ๊ฐ ๋ถ์ | ํต์ฌ ์์คํ ์ ์ด์ ์ ๋ง์ถ ๊ธฐ์ ๋ผ์ด์ ์ฑ | ๋ฆฌ์์ค ์ง์ฝ์ ์์ ์ด๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ๋ณํฉ, ์ผ๊ฐ ๋๋ ๋ฆด๋ฆฌ์ค ์ค์บ์ผ๋ก ์ ํ๋ฉ๋๋ค. | ํน์ ์ธ์ด์๋ง ์ด์ ์ ๋ง์ถ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ธ ํ์ดํ๋ผ์ธ ๊ฒ์ดํธ๋ก๋ ์ ํฉํ์ง ์์ต๋๋ค. |
ํน์ํ Azure DevOps ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํ ๋ค๋ฅธ ์ฃผ๋ชฉํ ๋งํ ์ ์ ๋ถ์ ๋์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์์์ ๋น๊ตํ ์ฃผ์ ๋๊ตฌ ์ธ์๋ ๋ง์ Azure DevOps ์กฐ์ง์์๋ ํน์ ์๊ตฌ ์ฌํญ, ์ธ์ด๋ณ ์ ์ฝ ์กฐ๊ฑด ๋๋ ๋ณด์์ ์ธ ์ํ ์์ญ์ ํด๊ฒฐํ๊ธฐ ์ํด ์ถ๊ฐ์ ์ธ ์ ์ ๋ถ์ ์๋ฃจ์ ์ ๋์ ํฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ ๋ณดํธ์ ์ธ ํ์ค์ผ๋ก ๋ฐฐํฌ๋๋ ๊ฒฝ์ฐ๋ ๋๋ฌผ๋ฉฐ, ์คํ๋ ค ๊ธฐ๋ณธ SAST ์คํ์ด ์ถฉ๋ถํ ๊น์ด, ๋ฒ์ ๋๋ ์ด์ ์ ํฉ์ฑ์ ์ ๊ณตํ์ง ๋ชปํ๋ ํน์ ๊ฒฉ์ฐจ๋ฅผ ๋ฉ์ฐ๊ธฐ ์ํด ์ ํ๋ฉ๋๋ค.
๊ธฐ์ ํ๊ฒฝ์์ ์ด๋ฌํ ๋์๋ค์ ์ผ๋ฐ์ ์ผ๋ก ํน์ ๊ธฐ์ ์คํ, ๊ท์ ์์ธ ๋๋ ์ธํ๋ผ ๊ณ์ธต์ ๋ง์ถฐ ์ ํ์ ์ผ๋ก ํตํฉ๋ฉ๋๋ค. ๊ทธ ๊ฐ์น๋ ๊ด๋ฒ์ํ ์ ์ฉ ๋ฒ์๋ณด๋ค๋ ์ ๋ฌธ์ฑ์ ์์ผ๋ฉฐ, ๊ณ์ธต์ ๋ถ์ ์ ๋ต ๋ด์์ ์๋์ ์ผ๋ก ๋ฐฐ์น๋ ๋ ๊ฐ์ฅ ํจ๊ณผ์ ์ ๋๋ค.
ํน์ ๋ถ์ผ ์ ์ฉ ๊ฐ๋ฅ์ฑ์ ๋ฐ๋ฅธ ์ถ๊ฐ ์ ์ ๋ถ์ ๋๊ตฌ
- Veracode ์ ์ ๋ถ์
์ผ๋ฐ์ ์ผ๋ก ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์ค์บ๋ ๋ฐ ํ์คํ๋ ์ ์ฑ ๋ณด๊ณ ๋ฅผ ์ ํธํ๋ ๊ธฐ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ๋ฉ๋๋ค. ์จํ๋ ๋ฏธ์ค ์ด์ ์ค๋ฒํค๋๋ฅผ ์ค์ด๊ณ ๊ฐ๋ ฅํ ๊ท์ ์ค์๋ฅผ ์ถ๊ตฌํ๋ ์กฐ์ง์ ์ ํฉํฉ๋๋ค. - Snyk ์ฝ๋
๊ฐ๋ฐ์ ์ค์ฌ์ ๋ณด์ ์ค์บ์ ์ค์ ์ ๋๊ณ ์์ผ๋ฉฐ CI ํ์ดํ๋ผ์ธ๊ณผ์ ๊ฐ๋ ฅํ ํตํฉ์ ์ ๊ณตํฉ๋๋ค. ๋ ๋ฆฝ์ ์ธ SAST(์์คํ ๋ณด์ ํ ์คํธ) ๋๊ตฌ๋ก ์ฌ์ฉ๋๊ธฐ๋ณด๋ค๋ ์ข ์์ฑ ๋ฐ ์ปจํ ์ด๋ ์ค์บ์ ๋ณด์ํ๋ ์ฉ๋๋ก ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. - KICS(Keeping Infrastructure as Code Secure)
Terraform, ARM, CloudFormation๊ณผ ๊ฐ์ IaC ํ ํ๋ฆฟ์ ์ ์ ๋ถ์์ ํนํ๋์ด ์์ต๋๋ค. Azure ํ์ดํ๋ผ์ธ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์ ํจ๊ป IaC ๊ตฌ์ฑ ์ค๋ฅ ์ํ์ ํ๊ฐํด์ผ ํ ๋ ์ ์ฉํฉ๋๋ค. - PMD์ SpotBugs
์๋ฐ ์ค์ฌ ํ๊ฒฝ์์ ์ฝ๋ฉ ํ์ค์ ์ค์ํ๊ณ ์ผ๋ฐ์ ์ธ ๊ฒฐํจ ํจํด์ ๊ฐ์งํ๋ ๋ฐ ์ฃผ๋ก ์ฌ์ฉ๋๋ ๊ฒฝ๋์ ์ธ์ด๋ณ ๋๊ตฌ๋ก, ํ์ดํ๋ผ์ธ ์ค๋ฒํค๋๋ฅผ ์ต์ํํฉ๋๋ค. - ESLint ๋ฐ ์ธ์ด๋ณ ๋ฆฐํฐ
ํ๋ฐํธ์๋ ๋ฐ ์คํฌ๋ฆฝํ ์ธ์ด์ ๋น๋ ํ๋ก์ธ์ค์ ์ง์ ํฌํจ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์คํ์ผ ๋ฐ ๊ธฐ๋ณธ ์ ํ์ฑ์ ๊ฐ์ ํ๋ ๋ฐ ํจ๊ณผ์ ์ด์ง๋ง ๊ธฐ์ ์ฐจ์์ ์ํ ํ๊ฐ์๋ ๋ถ์ถฉ๋ถํฉ๋๋ค. - OWASP ์ข
์์ฑ ๊ฒ์ฌ
์ฝ๋ ์์ค์ ๊ฒฐํจ๋ณด๋ค๋ ์๋ ค์ง ์ทจ์ฝํ ์ข ์์ฑ์ ์๋ณํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. ๊ณต๊ธ๋ง ์ํ ๊ฐ์์ฑ์ ํฅ์์ํค๊ธฐ ์ํด SAST ๋๊ตฌ์ ํจ๊ป ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. - Bandit ๋ฐ ์ ์ฌํ ๋ณด์ ๋ฆฐํฐ
ํ์ด์ฌ ์ค์ฌ ํ๊ฒฝ์์ ํํ ๋ฐ์ํ๋ ์์ ํ์ง ์์ ์ฝ๋ฉ ํจํด์ ์ ์ํ๊ฒ ๊ฐ์งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฒ์ดํ ์ ์ด๋ณด๋ค๋ ์ด๊ธฐ ํผ๋๋ฐฑ ๋ฉ์ปค๋์ฆ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
Azure DevOps์์ ์ ์ ๋ถ์ ๋์ ์ ์ํฅ์ ๋ฏธ์น๋ ๊ธฐ์ ํ๊ฒฝ ์์ธ
Azure DevOps์์ ์ ์ ๋ถ์ ๋์ ์ ๋จ์ํ ๋๊ตฌ์ ๊ธฐ๋ฅ๋ง์ผ๋ก ๊ฒฐ์ ๋๋ ๊ฒฝ์ฐ๋ ๋๋ญ ๋๋ค. ๋๊ท๋ชจ ์กฐ์ง์์๋ ๊ท๋ชจ์ ๊ฒฝ์ , ๊ท์ ์ค์, ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ ๋ ๋ฆฝ์ ์ธ ํ ๊ฐ์ ๋ฐฐํฌ๋ฅผ ์กฐ์จํด์ผ ํ๋ ํ์์ฑ์ผ๋ก ์ธํ ๊ตฌ์กฐ์ ์๋ ฅ์ด ์ฃผ์ ์๋๋ ฅ์ ๋๋ค. Azure DevOps๋ ์คํ ์์ง์ด์ ๊ฑฐ๋ฒ๋์ค ํ๋ซํผ ์ญํ ์ ๋์์ ์ํํจ์ผ๋ก์จ ์ด๋ฌํ ์๋ ฅ์ ํตํฉํ๊ณ , ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ๋ฆด๋ฆฌ์ค ํ๋ฆ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋๋ก ํฉ๋๋ค.
์ด๋ฌํ ์์ธ๋ค์ ์ด๋ค ๋๊ตฌ๊ฐ ์ ํ๋๋์ง๋ฟ๋ง ์๋๋ผ ๋๊ตฌ๋ฅผ ๊ตฌ์ฑํ๊ณ , ์ํํ๊ณ , ํด์ํ๋ ๋ฐฉ์์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ ์ ๋ถ์์ ์์ง๋์ด๋ง ํ๋๊ณผ ๊ธฐ์ ์ ์ํ ๊ฐ์ ์์ค ์ฌ์ด์์ ์ค์ฌ์ ์ญํ ์ ํฉ๋๋ค. ์๋ ์น์ ์์๋ ๋์ ๊ฒฐ์ ์ ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น๋ ์์ธ๋ค์ ์ดํด๋ณด๊ณ , ๋ง์ ์กฐ์ง์ด ์ ์ ๋ถ์์ ์ ๋ฌ ์ ์ด ๋ฉ์ปค๋์ฆ์ด ์๋ ์์ ํ ๊ธฐ์ ์ ์ธ ๋ฌธ์ ๋ก ์ทจ๊ธํ ๋ ์ด๋ ค์์ ๊ฒช๋ ์ด์ ๋ฅผ ์ค๋ช ํฉ๋๋ค.
๋ฐฐ์ก ๊ท๋ชจ ๋ฐ ํ์ดํ๋ผ์ธ ๊ฒฐ์ ๋ก ์ ํ์ ์๊ฑด์ ๋๋ค.
์ํฐํ๋ผ์ด์ฆ ๊ท๋ชจ์์ Azure DevOps ํ์ดํ๋ผ์ธ์ ๋จ์ํ ์๋ํ ์คํฌ๋ฆฝํธ์์ ๊ณต์ ์ธํ๋ผ๋ก ๋ฐ์ ํฉ๋๋ค. ์๋ฐฑ ๋๋ ์์ฒ ๊ฐ์ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ๊ณตํต ํ ํ๋ฆฟ, ๊ณต์ ์์ด์ ํธ ํ, ์ค์์์ ๊ด๋ฆฌ๋๋ ์ ์ฑ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฌํ ํ๊ฒฝ์์ ์ ์ ๋ถ์ ๋๊ตฌ๋ ๊ฒฐ์ ๋ก ์ ์ผ๋ก ๋์ํด์ผ ํฉ๋๋ค. ์ฆ, ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ ํ ํ์ด๋ ํ์ดํ๋ผ์ธ์ ์คํํ๋ ์์ด์ ํธ์ ๊ด๊ณ์์ด ๋์ผํ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋์ผํ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
์ด๋ฌํ ์๊ตฌ์ฌํญ์ ๋น๋ ๊ตฌ์ฑ, ํ๊ฒฝ๋ณ ์ข ์์ฑ ๋๋ ์๋ฌต์ ์ธ ๊ธฐ๋ณธ๊ฐ์ ํฌ๊ฒ ์์กดํ๋ ์ ์ ๋ถ์ ๋๊ตฌ์ ๋ถ๋ด์ ์ค๋๋ค. ์์ด์ ํธ ์ด๋ฏธ์ง ์ ๋ฐ์ดํธ, ์ปดํ์ผ๋ฌ ๋ฒ์ ๋ณ๋ ๋๋ ์กฐ๊ฑด๋ถ ๋น๋ ๋ก์ง์ผ๋ก ์ธํด ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ฉด ๊ฒ์ดํ ๊ฒฐ์ ์ ๋ํ ์ ๋ขฐ๊ฐ ์ฝํ๋ฉ๋๋ค. ํ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ฐํํ๊ฑฐ๋ ์จ๊ธฐ๊ธฐ ์์ํ๊ณ , ๊ฑฐ๋ฒ๋์ค ํ์ ์ด์ ๋์ํ์ฌ ํต์ ๋ฅผ ๊ฐํํจ์ผ๋ก์จ ๋ง์ฐฐ์ ๋์ฑ ๊ฐ์ค์ํต๋๋ค.
๊ฒฐ์ ๋ก ์ ๊ธฐ์ ์ด ๋ฐฐํฌ ์ํ๋ฅผ ์ธก์ ํ๋ ๋ฐฉ์์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ ํ๋ซํผ ๊ด๋ฆฌ์๊ฐ ์์คํ ์ ์ํ์ ํ๊ฐํ๋ ๋ฐ ์ฌ์ฉํ๋ ๋์๋ณด๋์ ์์ฃผ ๋ฐ์๋ฉ๋๋ค. ๋ง์ฝ ๊ฒฐ๊ณผ๊ฐ ์ฝ๋์ ๋ฌด๊ดํ ์ด์ ๋ก ๋ณ๋ํ๋ค๋ฉด, ์ด๋ฌํ ๋์๋ณด๋๋ ์ ๋ขฐํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ด๋ ํนํ ์กฐ์ง์ด ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํจ ๋ฐ์๋ฅ ์ด๋ ์ฌ๊ณ ๋น๋์ ๊ฐ์ ์ด์ ์งํ์ ์ฐ๊ด์ํค๋ ค ํ ๋ ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค. ์ด๋ฌํ ์ด์ ์งํ๋ ํ๋ซํผ ์ ๋ฐ์ ๊ฑธ์ณ ๊ณต์ ๋๋ ์ํํธ์จ์ด ์ฑ๋ฅ ์งํ๋ฅผ ์ฌ์ฉํ์ฌ ์ถ์ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๊ธฐ์ ๋ค์ ๋ช ์์ ๊ตฌ์ฑ, ๋ฒ์ ๊ณ ์ ๋ฐ ์ฌํ ๊ฐ๋ฅํ ์คํ์ ์ง์ํ๋ ์ ์ ๋ถ์ ๋๊ตฌ๋ฅผ ์ ํธํฉ๋๋ค. ๋ ๋ง์ ๋ฌธ์ ๋ฅผ ์ฐพ๋ ๊ฒ์ด ์๋๋ผ, ๋ฐ๊ฒฌ๋ ๋ฌธ์ ๊ฐ ํ๊ฒฝ์ ์์ธ์ด ์๋ ์ฝ๋ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ์ผ๊ด๋๊ฒ ๋ฐ์ํ๋์ง ํ์ธํ๋ ๊ฒ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. Azure DevOps๋ ํ์ดํ๋ผ์ธ ์ค๋ฅ๊ฐ ์ฆ๊ฐ์ ์ด๊ณ ๋ช ํํ๊ฒ ํ์๋๋๋ก ํจ์ผ๋ก์จ ์ด๋ฌํ ์ถ์ธ๋ฅผ ๋์ฑ ๊ฐํํฉ๋๋ค. ๋ฐ๋ผ์ ๋น๊ฒฐ์ ์ ๋ถ์์ ํ์ง ์ ํธ๊ฐ ์๋ ๋ฐฐํฌ ์ํ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
๊ท์ ๋ ธ์ถ ๋ฐ ๊ฐ์ฌ ๊ธฐ๋ฐ ์ฆ๊ฑฐ ๊ธฐ๋์น
์ ์ ๋ถ์ ๋์ ์ ์ํฅ์ ๋ฏธ์น๋ ๋ ๋ค๋ฅธ ์ฃผ์ ์์ธ์ ๊ท์ ์ค์ ์๊ตฌ์ ๋๋ค. ๊ธ์ต, ์๋ฃ, ์ค์ ์ธํ๋ผ์ ๊ฐ์ ์ฐ์ ๋ถ์ผ์์๋ ์ํํธ์จ์ด ๋ณ๊ฒฝ์ ๋ํ ๋ช ํํ ํต์ ๋ ฅ์ ์ ์ฆํ ๊ฒ์ ์๊ตฌํ๋ ๊ฒฝ์ฐ๊ฐ ์ ์ ๋์ด๋๊ณ ์์ต๋๋ค. Azure DevOps ํ๊ฒฝ์์ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ ๊ฐ๋ฐ์ ํผ๋๋ฐฑ์ผ ๋ฟ๋ง ์๋๋ผ ๊ฐ์ฌ ์ฆ๊ฑฐ๋ก๋ ํ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ฌํ ๋ณํ๋ ๋๊ตฌ ํ๊ฐ ๊ธฐ์ค์ ๋ฐ๊พธ์ด ๋์ต๋๋ค.
๊ฐ์ฌ ์ค์ฌ ํ๊ฒฝ์์๋ ์ฝ๋ ๋ณ๊ฒฝ, ๋ถ์ ๊ฒฐ๊ณผ, ์น์ธ ๋ฐ ๋ฆด๋ฆฌ์ค ๊ฐ์ ์ถ์ ์ฑ์ด ํ์์ ์ ๋๋ค. ๋ฐ๋ผ์ ์ ์ ๋ถ์ ๋๊ตฌ๋ Azure DevOps ์ํฐํฉํธ ๋ณด์กด, ํ์ดํ๋ผ์ธ ๋ก๊ทธ ๋ฐ ์น์ธ ์ํฌํ๋ก์ ์ํํ๊ฒ ํตํฉ๋์ด์ผ ํฉ๋๋ค. ๋ํ, ์ผ์์ ์ธ ํ์ดํ๋ผ์ธ ์ํ๋ ์์ ๋์๋ณด๋์ ์์กดํ์ง ์๊ณ , ๋๋ก๋ ์๊ฐ์ ๋๋ ์๋ ํ์ ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋ํด์๋ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ค๋ช ํ ์ ์์ด์ผ ํฉ๋๋ค.
์ด๋ฌํ ์๋ ฅ์ผ๋ก ์ธํด ์์ ์ ์ด๊ณ ๊ธฐ๊ณ ํ๋ ๊ฐ๋ฅํ ์ถ๋ ฅ์ ์์ฑํ๋ฉฐ ์ฅ๊ธฐ์ ์ธ ๊ธฐ์ค์ ์ค์ ์ ์ง์ํ๋ ๋๊ตฌ๊ฐ ์ ํธ๋ฉ๋๋ค. ๊ธฐ์ ์ ํน์ ์์ ์ ์๋ ค์ง ๋ฌธ์ ๊ฐ ์ธ์ง, ์์ฉ ๋๋ ์ํ๋์์์ ์ ์ฆํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ตฌ์กฐํ๋ ๊ฒฐ๊ณผ ํ์์ด๋ ์ผ๊ด๋ ์๋ณ์๊ฐ ๋ถ์กฑํ ๋๊ตฌ๋ ์ด๋ฌํ ์ ์ฆ์ ์ด๋ ต๊ฒ ํ์ฌ ๊ฐ์ฌ ๊ณผ์ ์์ ์์์ ๋ถ๋ด์ ์ฆ๊ฐ์ํต๋๋ค.
๊ท์ ๋ ธ์ถ์ ์ฌ๊ฐ๋ ํด์์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ด์์ ์ํ์ด ์ ํ์ ์ธ ๋ฐ๊ฒฌ์ด๋ผ๋ ๋ฌธ์ํ๋ ํต์ ๋ฅผ ์๋ฐํ๋ ๊ฒฝ์ฐ ์ฌ๊ฐํ ๋ฌธ์ ๋ก ๊ฐ์ฃผ๋ ์ ์์ต๋๋ค. ๋ฐ๋๋ก, ๊ธฐ์ ์ ์ผ๋ก ์ฌ๊ฐํ ๋ฌธ์ ๋ผ ํ๋๋ผ๋ ๊ท์ ๋์ ์คํ ๊ฒฝ๋ก ๋ฐ์ ์๋ ๊ฒฝ์ฐ ์ฐ์ ์์๊ฐ ๋ฎ์์ง ์ ์์ต๋๋ค. ์ด๋ฌํ ์์ถฉ ๊ด๊ณ๋ ํนํ ๋ ๊ฑฐ์ ๊ตฌ์ฑ ์์์ ์ต์ ๊ตฌ์ฑ ์์๊ฐ ๊ณต์กดํ๋ ๋จ๊ณ์ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ํ ํ๋ก๊ทธ๋จ ์์ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ค ๊ด๋ฒ์ํ ํ๋ํ ๋ฐ ํต์ ํ๋ ์์ํฌ ๋ด์์ ๋งฅ๋ฝํํด์ผ ํ ํ์์ฑ์ ๊ฐ์กฐํฉ๋๋ค.
Azure DevOps์์๋ ์ด๋ฌํ ๊ธฐ๋์น๋ก ์ธํด ์ ์ ๋ถ์์ด ์ ํํ๋๋ ์ถ์ธ์ ๋๋ค. ๋๊ตฌ๋ ๊ท์ ์ค์ ์ํคํ ์ฒ์ ์ผ๋ถ๊ฐ ๋๋ฉฐ, ๋์ ๊ฒฐ์ ์ ํ์ง ์ ํ๋๋ฟ๋ง ์๋๋ผ ๋ณด๊ณ ๋ฐ ์ฆ๊ฑฐ ๊ธฐ๋ฅ์ ์ํด์๋ ํฐ ์ํฅ์ ๋ฐ์ต๋๋ค.
์กฐ์ง์ ๋ณต์ก์ฑ๊ณผ ํ ๊ฐ ํ์ ์๋ ฅ
๋๊ท๋ชจ Azure DevOps ์กฐ์ง์ ๊ตฌ์กฐ์ ์ผ๋ก ๋ณต์กํฉ๋๋ค. ํ๋ง๋ค ์ฌ์ฉํ๋ ์ธ์ด ์คํ, ๋ฐฐํฌ ์ฃผ๊ธฐ, ์ํ ๊ฐ์ ์์ค์ด ๋ค๋ฅด์ง๋ง, ๊ณตํต๋ ๊ฑฐ๋ฒ๋์ค ์ฒด๊ณ์ ์ ์ฉ์ ๋ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ์ ๋ถ์ ๋๊ตฌ๋ ์ด๋ฌํ ์ฐจ์ด์ ๋ค์ด ๊ต์ฐจํ๋ ์ง์ ์ ์์นํ์ฌ ์กฐ์ง ๋ด ๊ฐ๋ฑ์ ํต์ฌ ์์ธ์ด ๋ฉ๋๋ค.
์๋ฐ ์์ธ ์ค ํ๋๋ ํ ๊ฐ ์์กด์ฑ์ ๋๋ค. ๊ณต์ ๊ตฌ์ฑ ์์์ ๋ํ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ์ฌ๋ฌ ๋ฐฐํฌ ์คํธ๋ฆผ์ ๋์์ ์ฐจ๋จํ ์ ์์ต๋๋ค. ์์กด์ฑ ๊ด๊ณ์ ์คํ ๊ด๋ จ์ฑ์ ๋ํ ๋ช ํํ ๊ฐ์์ฑ์ด ๋ถ์กฑํ๋ฉด ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ค์ํ๊ฑฐ๋ ์ค์ํ์ง ์๋ค๊ณ ์ธ์ํ๋ ํ ๊ฐ์ ๊ฐ๋ฑ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์ ์ฅ์ ๊ฒฝ๊ณ ๋ด์์๋ง ์๋ํ๋ ์ ์ ๋ถ์ ๋๊ตฌ๋ ํ์ ์์คํ ์ ๋ฏธ์น๋ ์ํฅ์ ๋ชจํธํ๊ฒ ๋ง๋ค์ด ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋์ฑ ์ ํ์ํต๋๋ค.
๋ ๋ค๋ฅธ ์๋ ฅ ์์ธ์ ํ ๊ฐ์ ์ญ๋ ์์ค ์ฐจ์ด์ ๋๋ค. ์ผ๋ถ ํ์ ๋ฐ๊ฒฌ๋ ๋ฌธ์ ์ ์ ์ ์ํ๊ฒ ํด๊ฒฐํ ์ ์๋ ์ญ๋์ ๊ฐ์ถ๊ณ ์๋ ๋ฐ๋ฉด, ๋ค๋ฅธ ํ์ ๋ ๊ฑฐ์ ์ฝ๋, ์ ํ๋ ํ ์คํธ ๋ฒ์ ๋๋ ์ธ๋ ฅ ๋ถ์กฑ์ผ๋ก ์ธํด ์ด๋ ค์์ ๊ฒช์ต๋๋ค. ์ด๋ฌํ ํ์ค์ ๊ณ ๋ คํ์ง ์๊ณ ์ ์ ๋ถ์์ ์ผ๋ฅ ์ ์ผ๋ก ์ ์ฉํ๋ฉด ๋์ ์ด ์ง์ฐ๋ฉ๋๋ค. ์ด์ ๋์ํ์ฌ ํ๋ค์ ์์ธ๋ฅผ ๋๊ฑฐ๋ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์จ๊ธฐ๋ ๋ฐฉ์์ ๋์ ํ๊ฒ ๋๋๋ฐ, ์ด๋ ๊ฒฐ๊ตญ ์ผ๊ด์ฑ ๋ถ์กฑ๊ณผ ๊ฑฐ๋ฒ๋์ค ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํฉ๋๋ค.
Azure DevOps๋ ์ ์ฑ ์ํ์ด ์ค์ ์ง์คํ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ญํ ๊ด๊ณ๋ฅผ ๋์ฑ ์ฌํ์ํต๋๋ค. ๋ธ๋์น ์ ์ฑ , ํ์ ๊ฒ์ฌ ๋ฐ ์น์ธ ๊ฒ์ดํธ๋ ๊ธฐ๋ณธ ์์คํ ์ด ํฌ๊ฒ ๋ค๋ฅด๋๋ผ๋ ์ผ๊ด๋๊ฒ ์ ์ฉ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ ๋ถ์ ๋๊ตฌ๋ ์กฐ์ง์ด ์์คํ ์ค์๋ ๋ฐ ๋ณ๊ฒฝ ์ํ์ ๋ง์ถฐ ๊ธฐ๋์น๋ฅผ ์กฐ์ ํ ์ ์๋๋ก ๋จ๊ณ๋ณ ์ํ ๋ชจ๋ธ์ ์ง์ํด์ผ ํฉ๋๋ค.
์ด๋ฌํ ์กฐ์ง์ ์๋ ฅ์ผ๋ก ์ธํด ๊ธฐ์ ๋ค์ ๊ฐ๋ณ์ ์ธ ๋ถ์๋ณด๋ค๋ ์กฐ์ ๋ ์์ฌ๊ฒฐ์ ์ ์ง์ํ๋ ๋ฅ๋ ฅ์ ๋ฐ๋ผ ์ ์ ๋ถ์ ๋๊ตฌ๋ฅผ ํ๊ฐํ๋ ๊ฒฝํฅ์ด ์ ์ ๋ ์ปค์ง๊ณ ์์ต๋๋ค. ํ๊ณผ ์์คํ ์ ๋ฐ์ ๊ฑธ์ณ ๊ฒฐ๊ณผ๋ฅผ ํตํฉํ๋ ๋ฐ ๋์์ด ๋๋ ๋๊ตฌ๋ ๋ง์ฐฐ์ ์ค์ด๊ณ ์ ๋์ ์ธ ๊ด๊ณ๋ก ๋ฐ์ ํ์ง ์๊ณ ๋ ๊ฑฐ๋ฒ๋์ค๋ฅผ ํ์ฅํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
Azure ํ์ดํ๋ผ์ธ์์ ์ ์ ๋ถ์์ ํตํด ๊ธฐ์ ์ด ๊ธฐ๋ํ๋ ์ ๋ต์ ๊ฒฐ๊ณผ
Azure DevOps ํ๊ฒฝ์์ ์ํฐํ๋ผ์ด์ฆ ๊ท๋ชจ๋ก ์ ์ ๋ถ์์ ๋ฐฐํฌํ ๋, ์ฑ๊ณต ์ฌ๋ถ๋ ๋จ์ํ ๋ฐ๊ฒฌ๋ ๋ฌธ์ ์ ์๋ก๋ง ํ๋จ๋๋ ๊ฒฝ์ฐ๊ฐ ๋๋ญ ๋๋ค. ์คํ๋ ค ์กฐ์ง์์๋ ์ ์ ๋ถ์์ด ๋ฐฐํฌ, ๊ฑฐ๋ฒ๋์ค, ์ํ ๊ด๋ฆฌ ์ ๋ฐ์ ๊ฑธ์ณ ์ด๋ค ์ ๋ต์ ์ฑ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋์ง๋ก ํ๊ฐํฉ๋๋ค. ์ด๋ฌํ ์ฑ๊ณผ๋ ๋๊ตฌ ๊ตฌ์ฑ ๋ฐฉ์, ์ ์ฉ ๋ฒ์, ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ณผ์ ๋ํ ์ฑ ์ ์์ฌ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
Azure ํ์ดํ๋ผ์ธ์ ์ด๋ฌํ ๊ธฐ๋์น๋ฅผ ์ถฉ์กฑ์ํค๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ํ์ดํ๋ผ์ธ ๊ฒ์ฌ๋ ๋ณํฉ ๊ฒฐ์ ๋ฐ ๋ฆด๋ฆฌ์ค ์งํ ์ํฉ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ฏ๋ก ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ ๋ฆด๋ฆฌ์ค ์์ธก ๊ฐ๋ฅ์ฑ, ์ด์ ์์ ์ฑ ๋ฐ ๊ฐ์ฌ ๋ฐฉ์ด๋ ฅ๊ณผ ๊ฐ์ ๋น์ฆ๋์ค ์ฐ์ ์์์ ์ผ์นํด์ผ ํฉ๋๋ค. ์๋ ์น์ ์์๋ Azure ๋ฐฐํฌ ์ํฌํ๋ก์ ์ ์ ๋ถ์์ด ํตํฉ๋ ๋ ๊ธฐ์ ์ด ๊ธฐ๋ํ๋ ๊ฐ์ฅ ์ค์ํ ๊ฒฐ๊ณผ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
๋ฐฐ์ก ์ํ์ ๋ง์ถ ์์ธก ๊ฐ๋ฅํ ์ถ์ ๊ฒ์ดํ
Azure DevOps์์ ์ ์ ๋ถ์์ ํตํด ๊ธฐ์ ์ด ์ป๊ณ ์ ํ๋ ์ฃผ์ ์ ๋ต์ ๊ฒฐ๊ณผ ์ค ํ๋๋ ์์ธก ๊ฐ๋ฅํ ๋ฆด๋ฆฌ์ค ๊ฒ์ดํ ์ ๋๋ค. ํ์ดํ๋ผ์ธ ๊ฒ์ฌ๋ฅผ ํตํด ํ์ฉํ ์ ์๋ ์ํ์ ์ด๋ํ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฐจ๋จํ๊ณ , ์ํฅ์ด ์ ์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณผ๋ํ ๋ง์ฐฐ ์์ด ํต๊ณผ์ํฌ ์ ์์ด์ผ ํฉ๋๋ค. ์ ์ ๋ถ์์ ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ๋ฐฐํฌ ์ํ๊ณผ ์์ ์ ์ผ๋ก ์ฐ๊ด๋ ๋๋ง ์ด๋ฌํ ๋ชฉํ ๋ฌ์ฑ์ ๊ธฐ์ฌํฉ๋๋ค.
์ค์ ๋ก ๋ง์ ์กฐ์ง์ด ๊ณผ๋ํ ์ฐจ๋จ ๋ฌธ์ ๋ก ์ด๋ ค์์ ๊ฒช๊ณ ์์ต๋๋ค. ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ ํต์ฌ ์คํ ๊ฒฝ๋ก์ ์ํฅ์ ๋ฏธ์น๋์ง ๋๋ ์ฌ์ฉ๋์ง ์๋ ๋ก์ง์ ์ํฅ์ ๋ฏธ์น๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ์ผ๋ฅ ์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ด๋ก ์ธํด ์๋ ์์ ์ด ํ์ํ ๊ฒ์ดํธ ์ค๋ฅ๊ฐ ๋น๋ฒํ๊ฒ ๋ฐ์ํ์ฌ ๊ฑฐ๋ฒ๋์ค๊ฐ ์ฝํ๋๊ณ ์ฃผ๊ธฐ ์๊ฐ์ด ์ฆ๊ฐํฉ๋๋ค. ์์ธก ๊ฐ๋ฅํ ๊ฒ์ดํ ์ ์ํด์๋ ์ ์ ๋ถ์ ๋๊ตฌ๊ฐ ์คํ ๊ฐ ์์ ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๊ณ ์คํ ์ํฅ ์ธก๋ฉด์์ ํด์ ๊ฐ๋ฅํ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ๊ธฐ์ ๋ค์ ์ ์ ๋ถ์์ด ์ํ ๊ธฐ๋ฐ ์ฐจ๋ณํ๋ฅผ ๋ท๋ฐ์นจํ ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค. ์ฐ๊ฒฐ์ฑ์ด ๋์ ๊ตฌ์ฑ ์์๋ ์ธ๋ถ์ ๋ ธ์ถ๋ ๊ฒฝ๋ก์ ์ํฅ์ ๋ฏธ์น๋ ๋ฐ๊ฒฌ ์ฌํญ์ ์ํฅ์ด ์ ์ ๋ชจ๋์ ๊ฐ๋ณ์ ์ธ ๋ฌธ์ ๋ณด๋ค ๋ ํฐ ๊ณ ๋ ค ์ฌํญ์ผ๋ก ๊ฐ์ฃผ๋์ด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๊ธฐ๋๋ ์กฐ์ง๋ค์ด ์ฌ๊ฐ๋ ๋ ์ด๋ธ์๋ง ์์กดํ๋ ๊ฒ์ด ์๋๋ผ ์ข ์์ฑ๊ณผ ์ํฅ์ ๋ํ ์ธ์์ ํตํฉํ๋ ๋ถ์ ๋ชจ๋ธ์ ์ ์ ๋ ์ ํธํ๋๋ก ๋ง๋ค๊ณ ์์ต๋๋ค.
Azure DevOps๋ ๊ฒ์ดํ ๋ก์ง์ด ์ด์ง๋ฒ์ ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์๊ตฌ ์ฌํญ์ ๋์ฑ ๊ฐํํฉ๋๋ค. ๊ฒ์ฌ๋ ํต๊ณผํ๊ฑฐ๋ ์คํจํ๊ฑฐ๋ ๋ ์ค ํ๋์ ๋๋ค. ๋ฏธ๋ฌํ ์ฐจ์ด๋ฅผ ํํํ ์ ์๋ ์ ์ ๋ถ์ ๋๊ตฌ๋ก ์ธํด ์กฐ์ง์ ๋ณต์ก์ฑ์ ์ ์ฑ ์์ธ ๋ฐ ์๋ ์น์ธ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ด๋ ์๋ํ๋ ๊ฒ์ดํธ์ ๊ฐ์น๋ฅผ ์ฝํ์ํค๊ณ ์์ฌ ๊ฒฐ์ ์ ๋น๊ณต์์ ์ธ ์ฑ๋๋ก ๋๋๋ฆฝ๋๋ค.
๊ฐ์ฅ ์ฑ์ํ Azure DevOps ํ๊ฒฝ์ ๋ฆด๋ฆฌ์ค ํ๋ฆ์ ์ ํํ๋ ๋์ ์์ ํํ๊ธฐ ์ํด ์ ์ ๋ถ์์ ์ฌ์ฉํฉ๋๋ค. ์ํคํ ์ฒ ์ํ ์์์ ๋ง์ถฐ ๊ฒ์ดํ ๋์์ ์กฐ์ ํจ์ผ๋ก์จ ์กฐ์ง์ ์์ธ ๋ฐ์๋์ ์ค์ด๊ณ ์ฐจ๋จ๋ ๋ฆด๋ฆฌ์ค๊ฐ ์ค์ ์ทจ์ฝ์ ์ ๋ฐ์ํ๋ค๋ ํ์ ์ ๋์ผ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฐ๊ณผ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ข ์์ฑ ๊ตฌ์กฐ๋ฅผ ํตํด ์ด๋ป๊ฒ ์ ํ๋๋์ง ์ดํดํ๋ ๊ฒ๊ณผ ๋ฐ์ ํ๊ฒ ๊ด๋ จ๋์ด ์์ผ๋ฉฐ, ์ด๊ฒ์ด ๋ฐ๋ก ๋ง์ ๊ธฐ์ ์ด ์ ์ ๋ถ์์ ํจ๊ณผ๋ฅผ ํ๊ฐํ ๋ ์ํ์ ์ค์ด๊ธฐ ์ํด ์ข ์์ฑ ๊ทธ๋ํ ์ ์ ์ ๋ ์ง์คํ๋ ์ด์ ์ ๋๋ค.
ํ ์ ์ฒด์ ์ ์ฉ ๊ฐ๋ฅํ ์คํ ๊ฐ๋ฅํ ์ฐ์ ์์ ์ค์
๊ธฐ์ ๋ค์ด ๊ธฐ๋ํ๋ ๋ ๋ค๋ฅธ ์ค์ํ ๊ฒฐ๊ณผ๋ ํ์ฅ ๊ฐ๋ฅํ ์ฐ์ ์์ ์ง์ ์ ๋๋ค. ๋๊ท๋ชจ Azure DevOps ์กฐ์ง์์๋ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ์์ฒ ๊ฑด์ ๋ฌํ ์ ์์ต๋๋ค. ํจ๊ณผ์ ์ธ ์ฐ์ ์์ ์ง์ ์ด ์์ผ๋ฉด ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ์ด ๋ณ๋ชฉ ํ์์ ์ผ์ผ์ผ ์ ์ ์์ง๋์ด์ ์๊ฐ์ ๋ญ๋นํ๊ณ ๋ฌธ์ ํด๊ฒฐ์ ์ง์ฐ์ํต๋๋ค.
์คํ ๊ฐ๋ฅํ ์ฐ์ ์์ ์ง์ ์ด๋ ๋ฐ๊ฒฌ ์ฌํญ์ ์ถ์์ ์ธ ์ฌ๊ฐ๋๋ฟ๋ง ์๋๋ผ ํ์ฌ ์ ๊ณต ๋ชฉํ์์ ๊ด๋ จ์ฑ์ ๋ฐ๋ผ ์์๋ฅผ ๋งค๊ธฐ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ธฐ์ ์ ์ ์ ๋ถ์์ ํตํด ๋ค์ ๋ฆด๋ฆฌ์ค ์ ์ ํด๊ฒฐํด์ผ ํ ๋ฐ๊ฒฌ ์ฌํญ, ์์ ํ๊ฒ ์ฐ๊ธฐํ ์ ์๋ ๋ฐ๊ฒฌ ์ฌํญ, ๊ทธ๋ฆฌ๊ณ ๋ถ๋ถ์ ์ธ ์์ ๋ณด๋ค๋ ์ํคํ ์ฒ์ ์ธ ๊ฐ์ ์ด ํ์ํ ๋ฐ๊ฒฌ ์ฌํญ์ ํ์ ํ๋ ๋ฐ ๋์์ ๋ฐ๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
์ด๋ฌํ ๊ธฐ๋๋ ๋๊ตฌ ๋์ ๋ฐฉ์์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๊ธธ๊ณ ํ๋ฉด์ ์ธ ๋ฌธ์ ๋ชฉ๋ก์ ์์ฑํ๋ ๋๊ตฌ๋ ์ฐ์ ์์ ๊ฒฐ์ ์ฑ ์์ ์ ์ ์ผ๋ก ์ฌ๋์๊ฒ ์ ๊ฐํฉ๋๋ค. ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ์ด๋ ํ ๊ฐ ์์ฌ ๊ฒฐ์ ์ ์ผ๊ด์ฑ ๋ถ์กฑ๊ณผ ๋น๊ณต์์ ์ธ ๊ฒฝํ์ ํ๋จ์ ๋ํ ์์กด๋ ์ฆ๊ฐ๋ก ์ด์ด์ง๋๋ค. ์๊ฐ์ด ํ๋ฅด๋ฉด์ ์ด๋ฌํ ์ผ๊ด์ฑ ๋ถ์กฑ์ ๊ทธ ์์ฒด๋ก ๊ฑฐ๋ฒ๋์ค ์ํ ์์๊ฐ ๋ฉ๋๋ค.
Azure DevOps ํ๊ฒฝ์ ํ๋ค์ด ๋ณ๋ ฌ์ ์ผ๋ก ์์ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋์ฑ ์ฌํ์ํต๋๋ค. ๊ณต์ ๋๋ ์ข ์์ฑ ๋ฐ ๋ฆด๋ฆฌ์ค ์์ ์ ๋ฐ๋ผ ํ ํ์์๋ ์ฐ์ ์์๊ฐ ๋ฎ์ ๋ฐ๊ฒฌ ์ฌํญ์ด ๋ค๋ฅธ ํ์์๋ ์ฐ์ ์์๊ฐ ๋์ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ธฐ์ ์ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ์ฌ๋ฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ดํ๋ผ์ธ ์ ๋ฐ์ ๊ฑธ์ณ ์ฐ์ ์์๋ฅผ ์กฐ์จํ ์ ์๋๋ก ์ถฉ๋ถํ ๋งฅ๋ฝ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
ํจ๊ณผ์ ์ธ ์ฐ์ ์์ ์ค์ ์ ๋ฌธ์ ํด๊ฒฐ์ ๋ํ ํผ๋ก๋๋ฅผ ์ค์ฌ์ค๋๋ค. ํ์ด ์ ์ ๋ถ์์ ํตํด ์ค์ํ ๋ฌธ์ ๊ฐ ์ง์์ ์ผ๋ก ๋ถ๊ฐ๋๋ ๊ฒ์ ํ์ธํ๋ฉด ๋ถ์ ๋์ ๋ฅ ์ด ํฅ์๋ฉ๋๋ค. ๋ฐ๋๋ก ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ์ค์ ์ฑ๊ณผ์ ๋๋จ์ด์ ธ ๋ณด์ด๋ฉด ํ์ ์ฐธ์ฌ๋๊ฐ ๋จ์ด์ง๋๋ค. ์ ๋ต์ ์ผ๋ก ์ ์ ๋ถ์์ ํ์ฉํ๋ฉด ๋ถํ์ํ ์ ๋ณด๋ฅผ ๊ฑธ๋ฌ๋ด๊ณ ํต์ฌ์ ์ธ ์ํฅ๋ ฅ์ ๋ถ๊ฐ์์ผ ๋ถ์์ ์ ๋ขฐ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ฒฐ๊ณผ๋ ์ ์ ๋ถ์์ ๋ ๋ฆฝ์ ์ธ ์ค์บ ๋จ๊ณ๋ก ์ทจ๊ธํ๋ ๋์ , ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์์คํ ๊ตฌ์กฐ ๋ฐ ๋ณํ์ ์ํฅ๊ณผ ์ฐ๊ด์ํค๋ ์ ๊ทผ ๋ฐฉ์์ ๋ํ ๊ด์ฌ์ ์ ์ ๋ ๋์ด๊ณ ์์ต๋๋ค. ์ฐ์ ์์ ์ค์ ์ ๊ฐ๋ณ ํ์ ๋ถ๋ด์ด ์๋๋ผ ๊ธฐ์ ์ ์ฒด์ ๊ณต์ ์ญ๋์ด ๋ฉ๋๋ค.
์ง๋ฐฐ๊ตฌ์กฐ ๋ฐ ๊ฐ์ฌ๋ฅผ ์ง์ํ๋ ์ฆ๊ฑฐ ์์ฑ
์ธ ๋ฒ์งธ ์ ๋ต์ ์ฑ๊ณผ๋ ๊ธฐ์ ์ด ๊ธฐ๋ํ๋ ์ ๋ขฐํ ์ ์๋ ์ฆ๊ฑฐ ์์ฑ์ ๋๋ค. Azure DevOps์์ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ ์ํํธ์จ์ด ๋ฐฐํฌ ๊ณผ์ ์์ ์ ์ ํ ์ ์ด๊ฐ ์ ์ฉ๋์์์ ์ ์ฆํ๋ ๊ณต์ ๊ธฐ๋ก์ ์ผ๋ถ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ฌํ ๊ธฐ๋๋ ๋ณด์ ํ๋ฟ๋ง ์๋๋ผ ๊ท์ ์ค์, ์ํ ๊ด๋ฆฌ ๋ฐ ๋ด๋ถ ๊ฐ์ฌ ๊ธฐ๋ฅ๊น์ง ํฌํจํฉ๋๋ค.
์ฆ๊ฑฐ ์ค์ฌ์ ์ ์ ๋ถ์์ ๋ด๊ตฌ์ฑ์ด ๋ฐ์ด๋๊ณ ์ถ์ ๊ฐ๋ฅํ๋ฉฐ ์ค๋ช ๊ฐ๋ฅํ ๊ฒฐ๊ณผ๋ฌผ์ ์์ฑํด์ผ ํฉ๋๋ค. ๊ธฐ์ ์ ๋ฆด๋ฆฌ์ค ์์ ์ ๋ถ์ ์ํ๋ฅผ ์ฌ๊ตฌ์ฑํ ์ ์๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ฉฐ, ์ฌ๊ธฐ์๋ ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ์์๋์ง, ์ด๋ป๊ฒ ๋ถ๋ฅ๋์๋์ง, ๊ทธ๋ฆฌ๊ณ ์ ์์ฉ๋๊ฑฐ๋ ์์ ๋์๋์ง์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค. ์ผ์์ ์ธ ๋์๋ณด๋๋ง ์ ๊ณตํ๊ฑฐ๋ ๊ฒฐ๊ณผ๊ฐ ์ฝ๊ฒ ๋ณ๊ฒฝ๋๋ ๋๊ตฌ๋ ์ด๋ฌํ ๊ธฐ๋๋ฅผ ์ ํดํฉ๋๋ค.
Azure DevOps ํ์ดํ๋ผ์ธ์ ๋ก๊ทธ, ์ํฐํฉํธ ๋ฐ ๋น๋ ์์ฝ์ ํตํด ์ฆ๊ฑฐ ๋ณด์กด์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค. ์ด๋ฌํ ๋ฉ์ปค๋์ฆ๊ณผ ์ํํ๊ฒ ํตํฉ๋๋ ์ ์ ๋ถ์ ๋๊ตฌ๋ ๋ณ๋ ฌ ๋ฌธ์ํ ํ๋ก์ธ์ค์ ํ์์ฑ์ ์ค์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ์ ํธ๋ฉ๋๋ค. ๋ฐ๋๋ก, ๋ณ๋์ ์ฆ๊ฑฐ ๊ด๋ฆฌ ์์คํ ์ด ํ์ํ ๋๊ตฌ๋ ์ด์ ์ค๋ฒํค๋๋ฅผ ์ฆ๊ฐ์ํค๊ณ ์ผ๊ด์ฑ ๋ถ์กฑ์ ์ํ์ ์ด๋ํฉ๋๋ค.
์ด๋ฌํ ๊ฒฐ๊ณผ๋ ๋ฐ์ดํฐ ์ญ์ ๋ฐ ๊ธฐ์ค์ ์ค์ ๋ฐฉ์์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๊ธฐ์ ์ ๋ฐ์ดํฐ ์ญ์ ๊ฒฐ์ ์ด ์์์ ์ธ ๊ฒ์ด ์๋๋ผ ๊ฐ์ฌ ๊ฐ๋ฅํ๊ณ ๊ธฐํ์ด ์ ํด์ ธ ์๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ ๋ถ์ ๋๊ตฌ๋ ๊ฑฐ๋ฒ๋์ค ๊ฒฐ์ ์ด ์๊ฐ์ด ์ง๋๋ ์ดํดํ๊ธฐ ์ฝ๋๋ก ๊ตฌ์กฐํ๋ ๋ฉํ๋ฐ์ดํฐ์ ์ผ๊ด๋ ์๋ณ์๋ฅผ ์ง์ํด์ผ ํฉ๋๋ค.
์ฆ๊ฑฐ ์์ฑ์ ๊ธฐ์กด ์์คํ ๊ณผ ์ต์ ์์คํ ์ด ๊ณต์กดํ๊ณ ์ ์ด ๋ฐฉ์์ด ์ ์ง์ ์ผ๋ก ๋ฐ์ ํ๋ ์ ํ ํ๋ก์ ํธ์์ ํนํ ์ค์ํด์ง๋๋ค. ์ด๋ฌํ ๋งฅ๋ฝ์์ ์ ์ ๋ถ์์ ์ํคํ ์ฒ๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ์ ์ด ์ ์ฉ์ ๊ฐ์ํํ๊ณ ๋ฐฉ์ด ๊ฐ๋ฅํ๊ฒ ํจ์ผ๋ก์จ ๊ฑฐ๋ฒ๋์ค๋ฅผ ์ง์ํฉ๋๋ค. ์ด๋ฌํ ๊ธฐ๋๋ ์ ์ ๋ถ์์ด ๊ฐ๋ฐ์๋ง์ ์ํ ํ์ง ๊ด๋ฆฌ ๋๊ตฌ๊ฐ ์๋๋ผ ๊ธฐ์ ์ฐจ์์ ์๋น์ค ํ์ง ๋ณด์ฆ์ ์ ๋ต์ ์์๋ก์ ์ค์ํ ์ญํ ์ ํ๋ค๋ ๊ฒ์ ๋ท๋ฐ์นจํฉ๋๋ค.
Azure ์ ์ ๋ถ์ ๋๊ตฌ๊ฐ ํ์ํ ์ฑ๋ฅ์ ๋ฐํํ๋ ํน์ ์ฌ์ฉ ์ฌ๋ก
Azure DevOps์์ ์ ์ ๋ถ์ ๋๊ตฌ๋ ๋ชจ๋ ํ์ดํ๋ผ์ธ์ ์ผ๋ฅ ์ ์ผ๋ก ์ ์ฉํ๊ธฐ๋ณด๋ค๋ ๋ช ํํ๊ฒ ์ ์๋ ๋ฐฐํฌ ์ฌ์ฉ ์ฌ๋ก์ ๋ง์ถฐ ์ฌ์ฉํ ๋ ๊ฐ์ฅ ํฐ ๊ฐ์น๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ธฐ์ ํ๊ฒฝ์ ์ํคํ ์ฒ ์ฑ์๋, ๊ท์ ๋ ธ์ถ๋, ๋ฐฐํฌ ์ฃผ๊ธฐ ๋ฑ์์ ํฐ ์ฐจ์ด๋ฅผ ๋ณด์ ๋๋ค. ๋ฐ๋ผ์ ์ ์ ๋ถ์์ ํจ๊ณผ๋ ๋๊ตฌ์ ๋์์ด ๊ฐ ํ๊ฒฝ์์ ๊ด๋ฆฌ๋๋ ํน์ ์ํ๊ณผ ์ผ์นํ๋์ง์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์ด ์น์ ์์๋ Azure์ ํตํฉ๋ ์ ์ ๋ถ์์ด ์ธก์ ๊ฐ๋ฅํ ์ด์ ์ ์ง์์ ์ผ๋ก ์ ๊ณตํ๋ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ดํด๋ด ๋๋ค. ์ด๋ฌํ ์๋๋ฆฌ์ค๋ ๊ธฐ์กด ์ ์ด ๋ฐฉ์์ด ๋ถ์ถฉ๋ถํ์ฌ ์กฐ์ง์ด ์๋ฃจ์ ์ ์ ๊ทน์ ์ผ๋ก ๋ชจ์ํ๋, ๋์ ์๋๊ฐ ๋์ ํจํด์ ๋ํ๋ ๋๋ค. ๋ํ ์ ์ ๋ถ์์ด ํ๋ํ, ๋ณด์ ๋ฐ ํ๋ซํผ ๊ฑฐ๋ฒ๋์ค ์ด๋์ ํฐ๋ธ ์ ๋ฐ์ ๊ฑธ์ณ ๋ค๋ฅด๊ฒ ํ๊ฐ๋๋ ์ด์ ๋ฅผ ๊ฐ์กฐํฉ๋๋ค. ์ด๋ ๋จ์ํ ๊ธฐ๋ฅ ๋ชฉ๋ก์ด๋ ๊ท์น ์ ์ฉ ๋ฒ์๋ง์ผ๋ก ๋๊ตฌ๋ฅผ ๋น๊ตํ ๋ ํํ ์คํด๋๋ ๋ถ๋ถ์ ๋๋ค.
๋น ๋ฅธ ๋ฐฐํฌ ํ๊ฒฝ์์์ ํ ๋ฆฌํ์คํธ ์ํ ๊ด๋ฆฌ
Azure DevOps์์ ์ ์ ๋ถ์์ ํ์ฉํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ์ํฅ๋ ฅ ์๋ ์ฌ๋ก ์ค ํ๋๋ ํ ๋ฆฌํ์คํธ ์ํ ๊ด๋ฆฌ์ ๋๋ค. ํธ๋ ํฌ ๊ธฐ๋ฐ ๊ฐ๋ฐ์ด๋ ๋จ๊ธฐ ๊ธฐ๋ฅ ๋ธ๋์นญ์ ์ฌ์ฉํ๋ ์กฐ์ง์์ ํ ๋ฆฌํ์คํธ๋ ์ฝ๋๊ฐ ๊ฐ๋ณ์ ์ธ ๋ณ๊ฒฝ์์ ๊ณต๋ ์ฑ ์์ผ๋ก ์ ํ๋๋ ์ฃผ์ ๊ฒฐ์ ์ง์ ์ ๋๋ค. ์ ์ ๋ถ์์ ๋ฐฐํฌ ์๋๋ฅผ ํฌ๊ฒ ์ ํ์ํค์ง ์์ผ๋ฉด์ ์ด๋ฌํ ๊ฒฐ์ ์ ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
์ด ์ฌ์ฉ ์ฌ๋ก์์๋ ์๋์ ์ ํธ ํ์ง์ด ๋งค์ฐ ์ค์ํฉ๋๋ค. Azure DevOps ํ ๋ฆฌํ์คํธ ์ ์ฑ ์ ์ผ๋ฐ์ ์ผ๋ก ๋ณํฉ ์ ์ ํต๊ณผํด์ผ ํ๋ ํ์ ๊ฒ์ฌ๋ฅผ ์ํํฉ๋๋ค. ์ด ์ํฌํ๋ก์ ์ง์ ํตํฉ๋๋ ์ ์ ๋ถ์ ๋๊ตฌ๋ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ฌ ๊ฒํ ์๊ฐ ๊ธฐ๋ฅ์ ์ ํ์ฑ๋ฟ๋ง ์๋๋ผ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๋ฐ์ํ ์ ์๋ ์ ์ฌ์ ์ํ๊น์ง ํ๊ฐํ ์ ์๋๋ก ํฉ๋๋ค. ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ์ฐจ์ด์ ๋ฐ ๊ด๋ จ ์คํ ๊ฒฝ๋ก์ ํ์ ๋์ด ๋ถ์์ ์ง์ค๋ ๋ ๊ทธ ๊ฐ์น๊ฐ ๊ทน๋ํ๋๋ฉฐ, ๋ถํ์ํ ์ ๋ณด์ ๊ฒํ ํผ๋ก๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
๊ธฐ์ ๋ค์ ์ ์ง์ ์ผ๋ก ์คํ๋๊ณ ์์ธก ๊ฐ๋ฅํ ์๊ฐ ๋ด์ ์๋ฃ๋๋ ์ ์ ๋ถ์ ๋ฐฉ์์ ์ ํธํฉ๋๋ค. ์ฅ์๊ฐ ์คํ๋๋ ์ค์บ์ ๋ณํฉ์ ์ง์ฐ์ํค๊ณ ์ฐํ ํ์๋ฅผ ์กฐ์ฅํ์ฌ ์ด๋ฌํ ์ ํธ๋๋ฅผ ์ ํดํฉ๋๋ค. ์ ์ฒด ์ ์ฅ์ ๋ถ์์ด๋ ๋๊ท๋ชจ ๋น๋ ์บก์ฒ์ ์์กดํ๋ ๋๊ตฌ๋ ๋๊ฐ ํ๋ฐ ๋จ๊ณ์์ ์ฌ์ฉ๋๋ ๋ฐ๋ฉด, ๋ ๊ฐ๋ณ๊ฑฐ๋ ์คํ ์ ๋ณด๋ฅผ ํ์ฉํ๋ ๋๊ตฌ๋ ํ ๋ฆฌํ์คํธ ๋จ๊ณ์์ ์ฌ์ฉ๋ฉ๋๋ค.
์ด ์ฌ์ฉ ์ฌ๋ก์ ๋ ๋ค๋ฅธ ํต์ฌ ํน์ง์ ๊ฒํ ์์ ์ดํด ์ฉ์ด์ฑ์ ๋๋ค. ํ ๋ฆฌํ์คํธ ์ค์ ๋ํ๋๋ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ ๋ณํฉ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ์์ง๋์ด๊ฐ ์ฝ๊ฒ ์ดํดํ ์ ์์ด์ผ ํฉ๋๋ค. ์ง๋์น๊ฒ ์ถ์์ ์ธ ์ฌ๊ฐ๋ ๋ฑ๊ธ์ด๋ ํน์ ๋๊ตฌ์ ํนํ๋ ์ ๋ฌธ ์ฉ์ด๋ ํจ์จ์ฑ์ ๋จ์ด๋จ๋ฆฝ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ์ ๋ค์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ช ํํ ๋งฅ๋ฝ๊ณผ ํจ๊ป Azure DevOps PR ์ฃผ์์ ์ง์ ํตํฉํ๋ ๋๊ตฌ๋ฅผ ์ ํธํฉ๋๋ค.
์ด ์ฌ์ฉ ์ฌ๋ก๋ ๋ฏธ๋ฌํ ์ฐจ์ด๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ ๊ธฐ์กด ์ ์ ๋ถ์์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ฐ์ํ๋ ํ๊ณ๋ฅผ ๋๋ฌ๋ ๋๋ค. ์คํ๊ณผ์ ๊ด๋ จ์ฑ์ด ๋ถ์กฑํ ํจํด ๊ธฐ๋ฐ ๋ถ์ ๊ฒฐ๊ณผ๋ ์ข ์ข ์กฐ์น๋ณด๋ค๋ ๋ ผ์์ ๋ถ๋ฌ์ผ์ผํต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ์กฐ์ง๋ค์ ์ฝ๋ ์์ ๊ฒ์ฌ์ ์ํ ๊ด๋ จ ๊ฒ์ฌ๋ฅผ ์ ์ ๋ ๊ตฌ๋ถํ๊ณ ์์ผ๋ฉฐ, ์ด๋ ์ต์ ํ์ดํ๋ผ์ธ์์ ์ ์ ๋ถ์๊ณผ ๋ฆฐํ ์ ์ดํดํ๋ ๊ฒ๊ณผ ๋ฐ์ ํ ๊ด๋ จ์ด ์์ต๋๋ค . ์ ์ ํ๊ฒ ํ์ฉํ๋ฉด ์ ์ ๋ถ์์ ๋ฐฐํฌ ๋ณ๋ชฉ ํ์์ ์ผ์ผํค์ง ์์ผ๋ฉด์ PR ๊ฑฐ๋ฒ๋์ค๋ฅผ ๊ฐํํ ์ ์์ต๋๋ค.
๊ท์ ๋์ ์์คํ ๋ฐ ์ธ๋ถ ๋ ธ์ถ ์์คํ ์ ๋ํ ๋ณด์ ๋ณด์ฅ
๋ ๋ค๋ฅธ ์ค์ํ ํ์ฉ ์ฌ๋ก๋ ๊ท์ ๊ฐ๋ ๋์ ์์คํ ์ด๋ ์ธ๋ถ ๊ณต๊ฒฉ์ ๋ ธ์ถ๋ ์ ์๋ ์์คํ ์ ๋ณด์์ ๋ณด์ฅํ๋ ๊ฒ์ ๋๋ค. ๊ธ์ต ์๋น์ค, ์๋ฃ ํ๋ซํผ ๋๋ ๊ณต๊ฐ API๋ฅผ ์ง์ํ๋ Azure DevOps ํ๊ฒฝ์์ ์ ์ ๋ถ์์ ๋ฐฐํฌ ์ ์ ์ทจ์ฝ์ ์ ๋ฐ๊ฒฌํ๋๋ก ์ค๊ณ๋ ์๋ฐฉ์ ์ ์ด ๊ธฐ๋ฅ์ผ๋ก ์๋ํฉ๋๋ค.
์ด ์๋๋ฆฌ์ค์์๋ ๋ถ์์ ๊น์ด๊ฐ ์๋๋ณด๋ค ์ค์ํฉ๋๋ค. ๊ธฐ์ ์ ์ ์ ๋ถ์์ ํตํด ๋ณต์กํ ์ฃผ์ ๊ฒฝ๋ก, ์์ ํ์ง ์์ ์ญ์ง๋ ฌํ ์ฒด์ธ ๋๋ ๊ถํ ๋ถ์ฌ ๋ ผ๋ฆฌ ๊ฒฐํจ๊ณผ ๊ฐ์ด ํ ์คํธ๋ง์ผ๋ก๋ ์๋ณํ๊ธฐ ์ด๋ ค์ด ์ทจ์ฝ์ ์ ํ์ ํ์งํ ์ ์๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค. Azure DevOps ํ์ดํ๋ผ์ธ์ ์ผ๋ฐ์ ์ผ๋ก ๋ณํฉ ๋๋ ์ฌ์ ๋ฆด๋ฆฌ์ค ๋จ๊ณ์์ ์ด๋ฌํ ์ค์บ์ ํตํฉํ๋๋ฐ, ์ด ๋จ๊ณ์์๋ ์คํ ์๊ฐ์ด ๋ ์ค๋ ๊ฑธ๋ฆฌ๋๋ผ๋ ๋์ ์ ๋ขฐ๋๋ฅผ ํ๋ณดํ ์ ์์ต๋๋ค.
์ ์ ๋ถ์ ๋๊ตฌ๋ ๋ฐ๊ฒฌ๋ ์ทจ์ฝ์ ์ ์๋ ค์ง ์ทจ์ฝ์ ๋ฒ์ฃผ ๋ฐ ํด๊ฒฐ ๋ฐฉ์๊ณผ ์ฐ๊ฒฐํ๋ ๊ตฌ์กฐํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ ๋ ํนํ ์ ์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ณด์ ํ์ ์ค์บ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋ถ ์ ์ฑ ๋ฐ ์ธ๋ถ ํ์ค์ ๋ง์ถฐ ์กฐ์ ํ ์ ์์ต๋๋ค. Azure DevOps์์ ํตํฉ์ ํตํด ์ด๋ฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ฆด๋ฆฌ์ค ์ฆ๊ฑฐ๋ก ํ์ฉํจ์ผ๋ก์จ ๊ฐ์ฌ ๋ฐ ๊ท์ ์ค์ ํ๋์ ์ง์ํ ์ ์์ต๋๋ค.
์ด ์ฌ์ฉ ์ฌ๋ก์ ํต์ฌ ํน์ง์ ์ ํ์ ์ ์ฉ์ ๋๋ค. ๊ธฐ์ ์ ๋ชจ๋ ์ ์ฅ์์ ๊ฑธ์ณ ์ฌ์ธต์ ์ธ ๋ณด์ ๊ฒ์ฌ๋ฅผ ์ผ๋ฅ ์ ์ผ๋ก ์ ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋๋ญ ๋๋ค. ๋์ ๋ฐ์ดํฐ์ ๋ฏผ๊ฐ๋, ๋ ธ์ถ ์ ๋, ๋น์ฆ๋์ค ์ค์๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ํ๋๊ฐ ๋์ ์์ฐ์ ์๋ณํฉ๋๋ค. ๋ฐ๋ผ์ ํ๊ฒํ ๋ ์จ๋ณด๋ฉ๊ณผ ์ฐจ๋ณํ๋ ์ ์ฑ ์ ์ง์ํ๋ ์ ์ ๋ถ์ ๋๊ตฌ๊ฐ ์ ํธ๋ฉ๋๋ค.
์ด ์ฌ์ฉ ์ฌ๋ก๋ ๊ฑฐ๋ฒ๋์ค ์ํฌํ๋ก์ ์ค์์ฑ์ ๊ฐ์กฐํฉ๋๋ค. ๋ฐ๊ฒฌ๋ ๋ฌธ์ ์ ์ ๋ฐฐํฌ ํ์์ ์ฆ์ ํด๊ฒฐํ๊ธฐ๋ณด๋ค๋ ๋ณด์ ์ ๋ฌธ๊ฐ์ ๊ฒํ ๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Azure DevOps์ ์ํํ๊ฒ ํตํฉ๋๋ฉด์ ์ค์ ์ง์ค์ ๋ฌธ์ ํด๊ฒฐ ๋ฐ ๋ณด๊ณ ๋ฅผ ์ง์ํ๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ๋ถ์ฐ์ํค์ง ์๊ณ ๋ ์ด๋ฌํ ์ ๋ฌด ๋ถ๋ด์ด ๊ฐ๋ฅํฉ๋๋ค.
์ ์ ๋ถ์์ ๋ฒ์ฉ์ ์ธ ๊ด๋ฌธ์ด ์๋ ๊ณ์ธตํ ๋ฐฉ์ด ์ ๋ต์ ์ผ๋ถ๋ก ํ์ฉ๋ ๋ ๊ฐ์ฅ ํฐ ๋ณด์ ํจ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค. Azure DevOps์์๋ ์์ฐ ์ํ ํ๋กํ์ ๋ง์ถฐ ์ค์บ ๊น์ด์ ์ ์ฉ ์๊ธฐ๋ฅผ ์กฐ์ ํ์ฌ ๋ฐฐํฌ ํ์ ๊ณผ๋ถํ๋ฅผ ์ฃผ์ง ์์ผ๋ฉด์ ๋ณด์์ ๊ฐํํ๊ณ ๋ณต์๋ ฅ์ ๋์ผ ์ ์์ต๋๋ค.
ํ๋ํ ๊ณํ ๋ฐ ๋ฆฌํฉํ ๋ง ์ํ ๊ฐ์
์ ์ ๋ถ์์ ํ๋ํ ๋ฐ ๋ฆฌํฉํ ๋ง ํ๋ก์ ํธ์์ ๊ณํ ๋๊ตฌ๋ก์๋ ํ์ํ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. Azure DevOps๋ ๋ ๊ฑฐ์ ์ฝ๋, ์ ์ง์ ๋ง์ด๊ทธ๋ ์ด์ , ๋ณ๋ ฌ ์คํ ์ ๋ต ๋ฑ์ ํฌํจํ๋ ๋๊ท๋ชจ ๋ณํ ํ๋ก๊ทธ๋จ์ ์ค์ผ์คํธ๋ ์ด์ ํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฌํ ๋งฅ๋ฝ์์ ์ฃผ์ ๊ณผ์ ๋ ๊ฒฐํจ์ ์๋ณํ๋ ๊ฒ์ด ์๋๋ผ ๋ณ๊ฒฝ์ด ์์ ํ๊ฒ ๋ฐ์ํ ์ ์๋ ์ง์ ์ ํ์ ํ๋ ๊ฒ์ ๋๋ค.
์ ์ ๋ถ์์ ์ฝ๋๋ฒ ์ด์ค์ ๊ตฌ์กฐ์ ํน์ฑ์ ํ์ ํ์ฌ ํ๋ํ ์ํ์ ์ํฅ์ ๋ฏธ์น๋ ์์๋ฅผ ๋ฐํ๋ด๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ๊ธด๋ฐํ๊ฒ ๊ฒฐํฉ๋ ๋ชจ๋, ๊น๊ฒ ์ค์ฒฉ๋ ์ ์ด ํ๋ฆ, ๋ณ๊ฒฝ ๋ณ๋์ฑ์ด ๋์ ์์ญ ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ์ธ์ฌ์ดํธ๋ฅผ Azure DevOps์ ํตํฉํ๋ฉด ์ํ์ฑ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ๋ฐ ๋์์ด ๋๊ณ , ํ์ด ๊ด๋ฒ์ํ ํ๊ท๋ฅผ ์ ๋ฐํ๋ ๋ฆฌํฉํ ๋ง์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
์ด ์ฌ์ฉ ์ฌ๋ก๋ ๋ ๊ฑฐ์ ๊ตฌ์ฑ ์์์ ์ต์ ๊ตฌ์ฑ ์์๊ฐ ์ฅ๊ธฐ๊ฐ ๊ณต์กดํ๋ ์ ์ง์ ํ๋ํ ๊ณผ์ ์์ ํนํ ์ค์ํฉ๋๋ค. ์ ์ ๋ถ์์ ํตํด ํ์ ์๋ก์ด ์๋น์ค๋ฅผ ๋์ ํ๊ฑฐ๋ ๊ธฐ์กด ๋ก์ง์ ๋ถ๋ฆฌํ ์ ์๋ ์์ ์ ์ธ ๊ฒฝ๊ณ๋ฅผ ์๋ณํ ์ ์์ต๋๋ค. Azure DevOps ํ์ดํ๋ผ์ธ์ ๋ถ์ ๊ฒ์ฌ๋ฅผ ํตํด ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ด๋ฌํ ๊ฒฝ๊ณ๊ฐ ๋ฌด๋์ง์ง ์๋๋ก ๋ฐฉ์งํฉ๋๋ค.
์ด๋ฌํ ์๋๋ฆฌ์ค์์ ๊ธฐ์ ์ ๊ฐ๋ณ์ ์ธ ๊ท์น ์๋ฐ๋ณด๋ค๋ ์์คํ ์ ์ธ ๋ฌธ์ ๋ฅผ ๋๋ฌ๋ผ ์ ์๋ ๋๊ตฌ๋ฅผ ๋ ์ค์ํ๊ฒ ์ฌ๊น๋๋ค. ๋ชฉํ๋ ๋จ์ํ ๋ก์ปฌ ์ฝ๋ ํ์ง์ ๊ฐ์ ํ๋ ๊ฒ์ด ์๋๋ผ ์ํคํ ์ฒ ์งํ๋ฅผ ์ด๋์ด๋ด๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ ๊ฐ๋ฐ์๋ฟ ์๋๋ผ ์ํคํ ํธ์ ํ๋ซํผ ์ฑ ์์์๊ฒ๋ ์์ฃผ ํ์ฉ๋์ด ๋ก๋๋งต ๊ฒฐ์ ๋ฐ ํฌ์ ์ฐ์ ์์์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
ํ๋ํ ๊ณผ์ ์์ ์ ์ ๋ถ์์ ํจ๊ณผ๋ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ ๋์ ์์คํ ๊ตฌ์กฐ์ ๋งฅ๋ฝ ์์์ ์ดํดํ ์ ์๋์ง์ ๋ฌ๋ ค ์์ต๋๋ค. ์ด๋ ์ ์ง์ ํ๋ํ ์ ๋ต ์์ ๋ ผ์๋๋ ์์ฌ๊ฒฐ์ ํ๋ ์์ํฌ์ ๋ฐ์ ํ๊ฒ ์ฐ๊ด๋์ด ์์ผ๋ฉฐ , ์ด๋ฌํ ํ๋ ์์ํฌ์์๋ ์์กด์ฑ ์ํฅ ๋ฐ ๋ณํ์ ๊ฒฉ๋ฆฌ ์ ๋๋ฅผ ํ์ ํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ํ์ฉ๋ ๋, ์ ์ ๋ถ์์ ํ๋ํ๋ฅผ ์ ํดํ๋ ๊ฒ์ด ์๋๋ผ ์คํ๋ ค ๊ฐ์ํํ๋ ์ํ ๊ฐ์ ๋๊ตฌ๊ฐ ๋ฉ๋๋ค.
์ข ํฉํ๊ธฐ: Azure ์ ์ ๋ถ์์ ๊ธฐ์ ํ๊ฒฝ๊ณผ ํตํฉํ๊ธฐ
Azure DevOps์์ ์ ์ ๋ถ์์ ์ฝ๋ ํ์ง์ด๋ ๋ณด์ ๋ฒ์์ ๊ฐ์ ์ถ์์ ์ธ ๊ฐ๋ ์ด ์๋ ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์ ์ค์ ์ ๊ณต ๋ฐฉ์์ ๋ง์ถฐ ํ์ฉ๋ ๋ ๋น๋ก์ ๊ทธ ์ง๊ฐ๋ฅผ ๋ฐํํฉ๋๋ค. ๋๊ท๋ชจ ์กฐ์ง์์ ๊ฐ์ฅ ์ฑ๊ณต์ ์ธ ํ๋ก๊ทธ๋จ์ ์ ์ ๋ถ์์ ์์ง๋์ด๋ง ํ๋, ์ํคํ ์ฒ ์ํ, ๊ฑฐ๋ฒ๋์ค ์๋ฌด ์ฌ์ด์ ๊ท ํ์ ์ก์์ฃผ๋ ์ ์ด ์ฅ์น๋ก ํ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ ๋๊ตฌ ์ ํ, ๊ตฌ์ฑ ๋ฐ ์ ์ฉ ๋ฐฉ์์ ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ์ค์ ์ ๊ณต ์๋ ฅ ํ์์ ๋ด๋ ค์ง ์์ฌ ๊ฒฐ์ ์ ์ด๋ค ์ํฅ์ ๋ฏธ์น๋์ง์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค.
์์ ์น์ ๋ค์ ์ผ๊ด๋ ํจํด์ ๋ณด์ฌ์ค๋๋ค. ๊ธฐ์ ์ ๋์ ์ ์ ๊ณต ๊ท๋ชจ, ๊ท์ ๋ ธ์ถ, ์กฐ์ง ๋ณต์ก์ฑ๊ณผ ๊ฐ์ ์์ธ์ ์ํด ์ข์ฐ๋ฉ๋๋ค. ์ ๋ต์ ๊ฒฐ๊ณผ๋ ๋จ์ํ ๋ฌธ์ ๋ฐ์ ๊ฑด์๋ณด๋ค๋ ์์ธก ๊ฐ๋ฅํ ๊ฒ์ดํ , ํ์ฅ ๊ฐ๋ฅํ ์ฐ์ ์์ ์ค์ , ๊ทธ๋ฆฌ๊ณ ์ง์ ๊ฐ๋ฅํ ์ฆ๊ฑฐ์ ์ด์ ์ ๋ง์ถฅ๋๋ค. ์ํฅ๋ ฅ์ด ํฐ ์ฌ์ฉ ์ฌ๋ก๋ ํ ๋ฆฌํ์คํธ ์ํ ๊ด๋ฆฌ, ์ค์ ์์คํ ์ ๋ํ ๋ณด์ ๋ณด์ฅ, ๊ทธ๋ฆฌ๊ณ ๊ตฌ์กฐ์ ์ํ์ ์ดํดํ๋ ๊ฒ์ด ๋ถ๋ถ์ ์ธ ๊ฒฐํจ ํด๊ฒฐ๋ณด๋ค ์ค์ํ ํ๋ํ ๊ณํ์ ์ง์คํฉ๋๋ค.
์ด๋ฌํ ๊ด์ ์์ ๋ณผ ๋, ๋จ ํ๋์ ์ ์ ๋ถ์ ๋๊ตฌ๋ก๋ ๋ชจ๋ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ ์ ์์ต๋๋ค. Azure DevOps ํ๊ฒฝ์ ํ์ดํ๋ผ์ธ ๊ธฐ๋ฐ์ ๋น ๋ฅธ ํผ๋๋ฐฑ๊ณผ, ์ํ ๋ถ๋ด์ด ๋น์ฉ ๋ฐ ์ง์ฐ ์๊ฐ์ ์ ๋นํํ๋ ๊ฒฝ์ฐ ์ ์ฑ ์์ค ๋๋ ์๋ฏธ๋ก ์ ๋ถ์์ ๊ฒฐํฉํ๋ ๊ณ์ธต์ ์ ๊ทผ ๋ฐฉ์์ ํตํด ์ด์ ์ ์ป์ต๋๋ค. ๊ฐ์ฅ ํ๋ ฅ์ ์ธ ํ๋ก๊ทธ๋จ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉ ์ฌ๋ก์ ์๋์ ์ผ๋ก ๋งคํํ๊ณ , ํ์ดํ๋ผ์ธ ์ค๊ณ๋ฅผ ํตํด ์ผ๊ด์ฑ์ ์ ์งํ๋ฉฐ, ์ ๊ณต ๊ฒฐ๊ณผ์ ๋ง์ถฐ ๋ถ์ ์ ํธ๋ฅผ ์ง์์ ์ผ๋ก ์ฌ์กฐ์ ํ๋ ํ๋ก๊ทธ๋จ์ ๋๋ค.
Azure ํ๊ฒฝ์ด ์ง์์ ์ผ๋ก ํ์ฅ๋๊ณ ์ํคํ ์ฒ๊ฐ ์งํํจ์ ๋ฐ๋ผ ์ ์ ๋ถ์์ ํ๊ณผ ์์คํ ์ ๋ฐ์ ๊ฑธ์ณ ์ผ๊ด๋ ์์ฌ ๊ฒฐ์ ์ ์ง์ํ๋ ๋ฅ๋ ฅ์ผ๋ก ํ๊ฐ๋ฐ๊ฒ ๋ ๊ฒ์ ๋๋ค. ์ ์ ๋ถ์์ ๋จ์ํ ์ค์บ ๋จ๊ณ๊ฐ ์๋ ๋ฐฐํฌ ์ธํ๋ผ๋ก ํ์ฉํ ๊ฒฝ์ฐ, ๊ฑฐ๋ฒ๋์ค๋ฅผ ๊ฐํํ๊ณ ๋ง์ฐฐ์ ์ค์ด๋ฉฐ ์ํฐํ๋ผ์ด์ฆ ๊ท๋ชจ์ ์ง์์ ์ธ ๋ฐฐํฌ์ ๋ํ ์ ๋ขฐ๋๋ฅผ ์ง์ ์ ์ผ๋ก ๋์ผ ์ ์์ต๋๋ค.


