๐คฏ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ? CI/CD ํ์ดํ๋ผ์ธ ์๋ํ๋ก ํ์ถ!
์์ฑ์ ์ ๋ณด
- ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ ์์ฑ
- ์์ฑ์ผ
์ปจํ ์ธ ์ ๋ณด
- 58 ์กฐํ
- ๋ชฉ๋ก
๋ณธ๋ฌธ
์... ๋ ์ผ๊ทผ์ด์ผ... ์ด๋ฒ ํ๋ก์ ํธ, ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ ๊ธฐ๋ฐ์ผ๋ก CI/CD ํ์ดํ๋ผ์ธ๊น์ง ๊ตฌ์ถํด์ผ ํ๋ค๋... ๋จธ๋ฆฌ๋ง ์ง๋๊ฑฐ๋ ค. ์ด ๊ธ์ ๋ค ์ฝ์ผ๋ฉด, ์๋ํ๋ ๋ฐฐํฌ์ ํ ์คํธ ์ ๋ต์ ์ตํ ์ผ๊ทผ ์๋ ์ถ์ ํ ๋ฐ์ง ๋ ๋ค๊ฐ๊ฐ ์ ์์ด์! ๐คซ ์, ์ด์ ๊ฐ์ด ๊ณ ๋ฏผ์ ํ์ด๋ด์!
ํต์ฌ ์์ฝ
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ์์ CI/CD ํ์ดํ๋ผ์ธ ์๋ํ๋ ๊ฐ๋ฐ ์๋ ํฅ์๊ณผ ์ด์ ํจ์จ ์ฆ๋์ ํ์์ ์ ๋๋ค. ์๋ํ๋ ํ ์คํธ์ ๋ฐฐํฌ๋ฅผ ํตํด ์ํ์ ์ค์ด๊ณ , ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ๋ฅผ ํ์ฉํด ํ์ฅ์ฑ๊ณผ ์์ ์ฑ์ ํ๋ณดํ ์ ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก, GitOps๋ฅผ ํตํด ์ธํ๋ผ ๊ด๋ฆฌ๋ฅผ ์ฝ๋ํํ๊ณ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๊ฐํํ์ฌ ์ด์์ ์ ๋ขฐ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
- ์๋ํ๋ ๋ฐฐํฌ ๋ฐ ํ ์คํธ ์ ๋ต ๊ตฌ์ถ
- ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ ํ์ฉ
- GitOps๋ฅผ ํตํ ์ธํ๋ผ ์ฝ๋ ๊ด๋ฆฌ
CI/CD ํ์ดํ๋ผ์ธ์ด ๋ญ๊ธธ๋? ๐ค
์ฌ์ค ์ฒ์ CI/CD๋ผ๋ ๋จ์ด๋ฅผ ๋ค์์ ๋, ๋ญ๊ฐ ์์ฒญ ์ด๋ ค์ด ์ฉ์ด ๊ฐ๊ณ , ๋๋์ ์๊ด์๋ ๊ธฐ์ ์ธ ์ค ์์์ด์. ๊ทธ๋ฐ๋ฐ ํ๋ก์ ํธ์ ๋ฐ์ด๋ค์ด๋ณด๋... CI(Continuous Integration, ์ง์์ ํตํฉ)๋ ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์์ฃผ ํตํฉํ๊ณ , ์๋ํ๋ ํ ์คํธ๋ฅผ ํตํด ์ค๋ฅ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๋ ๊ฑฐ๊ณ , CD(Continuous Delivery/Deployment, ์ง์์ ๋ฐฐํฌ/์ ๋ฌ)๋ ํ ์คํธ๋ฅผ ํต๊ณผํ ์ฝ๋๋ฅผ ์๋์ผ๋ก ๋ฐฐํฌํ๋ ๊ฑฐ๋๋ผ๊ณ ์. ์ฝ๊ฒ ๋งํด, ์ฝ๋ ์์ฑ๋ถํฐ ๋ฐฐํฌ๊น์ง ๋ชจ๋ ๊ณผ์ ์ ์๋ํํด์ ํจ์จ์ ๋์ด๋ ๊ฑฐ์ฃ ! ์ด๊ฒ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ์ ๋ง๋๋ฉด ๋์ฑ ๊ฐ๋ ฅํด์ ธ์.
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ์์ ๋ง๋จ โจ
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ์ต์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๋ ๋ฐฉ์์ด์์. ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ, ์ปจํ ์ด๋ํ, ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋ฑ์ ํ์ฉํ๋๋ฐ, ์ด๋ CI/CD ํ์ดํ๋ผ์ธ์ด ํต์ฌ ์ญํ ์ ํ์ฃ . ๋ง์น ์ ์ง์ธ ์ค์ผ์คํธ๋ผ์ฒ๋ผ ๊ฐ ๋ถ๋ถ์ด ์กฐํ๋กญ๊ฒ ์๋ํด์ผ ํ๊ฑฐ๋ ์. ๊ทธ๋์ ์๋ํ๊ฐ ํ์์ ์ธ ๊ฑฐ๊ณ ์!
์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ์ ์ค์์ฑ ๐ณ
์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ์ ์ปจํ ์ด๋๋ค์ ๊ด๋ฆฌํ๊ณ ๋ฐฐํฌํ๋ ๊ธฐ์ ์ด์์. Kubernetes(์ฟ ๋ฒ๋คํฐ์ค)๊ฐ ๋ํ์ ์ธ ์์์ฃ . ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ปจํ ์ด๋๋ฅผ ์๋์ผ๋ก ๋ฐฐํฌํ๊ณ ๊ด๋ฆฌํ ์ ์๊ณ , ํ์ฅ์ฑ๊ณผ ์์ ์ฑ์ ๋์ผ ์ ์์ด์. ์์ํด ๋ณด์ธ์. ์์ญ, ์๋ฐฑ ๊ฐ์ ์ปจํ ์ด๋๋ฅผ ์ผ์ผ์ด ๊ด๋ฆฌํ๋ค๋ฉด... ๐ฑ ์ฟ ๋ฒ๋คํฐ์ค ๋๋ถ์ ๊ทธ๋ฐ ์ ๋ชฝ์์ ๋ฒ์ด๋ ์ ์๋ต๋๋ค.
์๋ํ ํ ์คํธ ์ ๋ต์ ์ค์์ฑ ๐ค
์๋ํ๋ ํ ์คํธ๋ CI/CD ํ์ดํ๋ผ์ธ์ ํต์ฌ ์ค ํ๋์ ๋๋ค. ๋จ์ ํ ์คํธ, ํตํฉ ํ ์คํธ, ์์คํ ํ ์คํธ ๋ฑ ๋ค์ํ ์ข ๋ฅ์ ํ ์คํธ๋ฅผ ์๋ํํ์ฌ ์ฝ๋ ํ์ง์ ๋์ด๊ณ ์ค๋ฅ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ ์ ์์ด์. ์ด๊ฒ ์๋ค๋ฉด... ๋ฒ๊ทธ ๋๋ฌธ์ ๋ฐค์ ๊ณ ์ํ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋์์ง๊ฒ ์ฃ . ๐ญ
GitOps: ์ธํ๋ผ๋ ์ฝ๋๋ก ๊ด๋ฆฌ! ๐ป
GitOps๋ ์ธํ๋ผ๋ฅผ ์ฝ๋๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ๋ก ์ด์์. Git์ ์ด์ฉํ์ฌ ์ธํ๋ผ ์ค์ ์ ๊ด๋ฆฌํ๊ณ , ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๊ณ , ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ์ ์์ด์. ๋๋ถ์ ์ธํ๋ผ ๊ด๋ฆฌ๊ฐ ํจ์ฌ ๊ฐํธํด์ง๊ณ , ์ค๋ฅ ๋ฐ์ ์ ๋น ๋ฅด๊ฒ ๋ณต๊ตฌํ ์ ์์ต๋๋ค. ์ ๋ ์ด ๋ถ๋ถ์ด ์ ๋ง ๋ง์์ ๋ค์์ด์. ๋ญ๊ฐ ๊น๋ํ๊ณ ์ฒด๊ณ์ ์ธ ๋๋์ด๋๊น์?
์ค์ ๊ฒฝํ: ๊ทธ ํผ๋์ ํ์ฅ์์... ๐
์๋ ํ๋ก์ ํธ ๋, CI/CD ํ์ดํ๋ผ์ธ์ ์ ๋๋ก ๊ตฌ์ถํ์ง ์์์ ์ ๋ง ํ๋ค์์ด์. ์๋ ๋ฐฐํฌ๋ฅผ ๋ฐ๋ณตํ๋ค ๋ณด๋ ์ค์๊ฐ ์ฆ์๊ณ , ๋ฒ๊ทธ ์์ ์๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ ธ์ฃ . ๋ฐค์ ์์ ์ ๊ธฐ๋ณธ์ด๊ณ , ์คํธ๋ ์ค๋ ๋งํ ๊ฒ๋ ์์์ด์. ๊ทธ๋ GitOps์ ์ค์์ฑ์ ๋ผ์ ๋ฆฌ๊ฒ ๋๊ผ๋ต๋๋ค. ์ง๊ธ์ ์๋ํ๋ ์์คํ ๋๋ถ์ ํจ์ฌ ํธํด์ก์ด์! ๐ฅณ
Jenkins์์ ์จ๋ฆ! ๐ช
Jenkins๋ CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ๋ ๋ฐ ๋ง์ด ์ฌ์ฉ๋๋ ์คํ์์ค ๋๊ตฌ์ ๋๋ค. ์ฒ์์๋ ์ค์ ์ด ๋ณต์กํด์ ์ด๋ ค์์ ๊ฒช์์ง๋ง, ๋ค์ํ ํ๋ฌ๊ทธ์ธ๊ณผ ๋ฌธ์ ๋๋ถ์ ๊ฒฐ๊ตญ์๋ ์ํ๋ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ์ ์์์ด์. Jenkins๋ฅผ ์ด์ฉํ์ฌ ์๋ํ๋ ๋น๋, ํ ์คํธ, ๋ฐฐํฌ ๊ณผ์ ์ ๋ง๋ค์๊ณ , ๊ทธ ๊ฒฐ๊ณผ ๊ฐ๋ฐ ์๋๊ฐ ํจ์ฌ ๋นจ๋ผ์ก์ด์. ์ฒ์์๋ ํ๋ค์์ง๋ง, ๊ฒฐ๊ณผ์ ์ผ๋ก ๋งค์ฐ ๋ง์กฑ์ค๋ฌ์ ๋ต๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค์์ ์ฌํฌ! โ๏ธ
์ฟ ๋ฒ๋คํฐ์ค๋ ์ฒ์ ์ ํ์ ๋ ์ ๋ง ์ด๋ ค์ ์ด์. YAML ํ์ผ์ ์์ฑํ๊ณ , ๋ค์ํ ์ค์ ์ ์ดํดํ๋ ๋ฐ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ ธ์ฃ . ํ์ง๋ง ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ ํ์ฉํ๋ฉด ์ปจํ ์ด๋๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ๋ฐฐํฌํ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ด์. ์ง๊ธ์ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์ ์ผ๋ก ์ด์ํ๊ณ ์๊ณ , ํ์ฅ์ฑ์๋ ํฐ ๋์์ ๋ฐ๊ณ ์๋ต๋๋ค.
๋ชจ๋ํฐ๋ง๊ณผ ๋ก๊ทธ ๊ด๋ฆฌ์ ์ค์์ฑ! ๐
CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ๋ ๋ชจ๋ํฐ๋ง๊ณผ ๋ก๊ทธ ๊ด๋ฆฌ๋ ๋งค์ฐ ์ค์ํด์. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ , ๋ก๊ทธ๋ฅผ ๋ถ์ํ์ฌ ๋ฌธ์ ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ ํด์ผ ํฉ๋๋ค. ์ ๋ Prometheus์ Grafana๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๊ตฌ์ถํ๊ณ , ๋๋ถ์ ๋ฌธ์ ๋ฐ์ ์ ๋น ๋ฅด๊ฒ ๋์ํ ์ ์์์ด์.
ํจ๊ป ๋ณด๋ฉด ์ข์ ์ ๋ณด
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ๋ฅผ ์ ๋๋ก ์ดํดํ๋ ค๋ฉด, ์ปจํ ์ด๋ํ ๊ธฐ์ (Docker, Containerd)์ ๋ํ ๊น์ ์ดํด๊ฐ ํ์ํด์. ๋ํ, ์๋ฒ๋ฆฌ์ค ์ํคํ ์ฒ(AWS Lambda, Google Cloud Functions)๋ฅผ ํ์ฉํ๋ฉด ๋์ฑ ํจ์จ์ ์ธ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก, ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๊ฐ๋ ์ ์ตํ๋ ๊ฒ๋ ์ค์ํด์. ์ด๋ฌํ ๊ธฐ์ ๋ค์ ์ตํ๋ฉด ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํ๊ฒฝ์์ ๋์ฑ ํจ์จ์ ์ธ ๊ฐ๋ฐ ๋ฐ ์ด์์ด ๊ฐ๋ฅํด์ง๋ต๋๋ค!
๋ง๋ฌด๋ฆฌํ๋ฉฐ... ๐
์ด์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ์์ CI/CD ํ์ดํ๋ผ์ธ ์๋ํ์ ์ค์์ฑ๊ณผ ์ค์ ๊ตฌ์ถ ๊ฒฝํ์ ๋ํด ์ด์ผ๊ธฐํด๋ดค์ด์. ์๋ํ๋ ๋ฐฐํฌ์ ํ ์คํธ๋ฅผ ํตํด ๊ฐ๋ฐ ํจ์จ์ ๋์ด๊ณ , ์์ ์ ์ธ ์๋น์ค ์ด์์ ์ํ ๊ธฐ๋ฐ์ ๋ง๋ จํ ์ ์์ต๋๋ค. ํ์ง๋ง ๋จ์ํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ถ์กฑํด์. ๊ฐ ๋๊ตฌ์ ํน์ง์ ์ดํดํ๊ณ , ์์ ์๊ฒ ๋ง๋ ์ ๋ต์ ์ธ์ฐ๋ ๊ฒ์ด ์ค์ํ๋ต๋๋ค. ์์ผ๋ก๋ ๊ณ์ํด์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๊ธฐ์ ๋ค์ ํ๊ตฌํ๊ณ ๋ฐฐ์๋๊ฐ๋ฉด์ ๋์ฑ ํจ์จ์ ์ธ ์์คํ ์ ๊ตฌ์ถํด๋๊ฐ๊ณ ์ถ์ด์. ํน์ ๊ถ๊ธํ ์ ์ด ์๋ค๋ฉด ์ธ์ ๋ ์ง ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์! ๐ ํจ๊ป ์ฑ์ฅํด๋๊ฐ์! ๊ทธ๋ฆฌ๊ณ ์ด์ ์ผ๊ทผ ๊ฑฑ์ ์ ๊ทธ๋ง! ๐ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ๊ณผ DevSecOps๋ ํจ๊ป ์์๋ณด๋ฉด ์ข์ ๊ฑฐ์์!
๋ค์ด๋ฒ๋ฐฑ๊ณผ ๊ฒ์ ๋ค์ด๋ฒ์ฌ์ ๊ฒ์ ์ํค๋ฐฑ๊ณผ ๊ฒ์
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ ๊ด๋ จ ๋์์










ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ ๊ด๋ จ ์ํ๊ฒ์
๊ด๋ จ์๋ฃ
-
์ด์ ์์ฑ์ผ 2025.03.09 04:14
-
๋ค์์์ฑ์ผ 2025.03.08 03:25