CI/CD
CI/CD๋?
โฆ CI/CD๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๋จ๊ณ๋ฅผ ์๋ํํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์ฑ ์งง์ ์ฃผ๊ธฐ๋ก ๊ณ ๊ฐ์๊ฒ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. CI/CD์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ง์์ ์ธ ํตํฉ, ์ง์์ ์ธ ์๋น์ค ์ ๊ณต, ์ง์์ ์ธ ๋ฐฐํฌ์ ๋๋ค. CI/CD๋ ์๋ก์ด ์ฝ๋ ํตํฉ์ผ๋ก ์ธํด ๊ฐ๋ฐ ๋ฐ ์ด์ํ์ ๋ฐ์ํ๋ ๋ฌธ์ (์ผ๋ช "ํตํฉ ์ง์ฅ(integration hell)")๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์๋ฃจ์ ์ ๋๋ค.
ํนํ, CI/CD๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํฉ ๋ฐ ํ ์คํธ ๋จ๊ณ์์๋ถํฐ ์ ๊ณต ๋ฐ ๋ฐฐํฌ์ ์ด๋ฅด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ผ์ดํ์ฌ์ดํด ์ ์ฒด์ ๊ฑธ์ณ ์ง์์ ์ธ ์๋ํ์ ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์ถ ์ฌ๋ก๋ฅผ ์ผ๋ฐ์ ์ผ๋ก โCI/CD ํ์ดํ๋ผ์ธโ์ด๋ผ ๋ถ๋ฅด๋ฉฐ, ๊ฐ๋ฐ ๋ฐ ์ด์ํ์ ์ ์์ผ ๋ฐฉ์ ํ๋ ฅ์ ํตํด DevOps ๋๋ SRE(์ฌ์ดํธ ์ ๋ขฐ์ฑ ์์ง๋์ด๋ง) ๋ฐฉ์์ผ๋ก ์ง์๋ฉ๋๋ค.
์ถ์ฒ : Redhat
์์ Redhat์ ์ ์๋ฅผ ์ฝ๊ฒ ํ์ด์ ์ค๋ช ํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํ ์ ์์ ๊ฒ ๊ฐ๋ค.
CI/CD๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๋จ๊ณ๋ฅผ ์๋ํํ์ฌ ๋์ฑ ์งง์ ์ฃผ๊ธฐ๋ก ๊ณ ๊ฐ์๊ฒ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ.

Continuous Integration
๋ ์์ธํ ๋ค์ด๊ฐ๋ณด์. CI๋ ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ํ ํ๋ก์ธ์ค์ธ ์ง์์ ์ธ ํตํฉ์ ์๋ฏธํ๋ค.
CI๊ฐ ์ ๋๋ก ๊ตฌํ๋๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์ ์๋ก์ด ๋ณ๊ฒฝ ์ฌํญ์ด ์ ๊ธฐ์ ์ผ๋ก ๋น๋ ๋ฐ ํ ์คํธ๋ฅผ ๊ฑฐ์ณ ๊ณต์ ๋ ํฌ์งํ ๋ฆฌ์ ๋ณํฉ๋๋ค.
๋ฐ๋ผ์ ์ฌ๋ฌ ๋ช ์ ๊ฐ๋ฐ์๊ฐ ๋์์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ๊ณผ ๊ด๋ จ๋ ์ฝ๋ ์์ ์ ํ ๊ฒฝ์ฐ ์๋ก ์ถฉ๋ํ๋ ๋ฌธ์ ๋ฅผ ์ด ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ๋ค.
๊ฐ๋ฐ์๊ฐ ๊ตฌํํ ์ฝ๋๋ฅผ ๊ธฐ์กด ์ฝ๋์ ๋ณํฉํ๋ค.
๋ณํฉ๋ ์ฝ๋๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๊ณ ๋น๋๋๋์ง ๊ฒ์ฆ
ํ ์คํธ ๊ฒฐ๊ณผ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ์์ ํ๊ณ ๋ค์
1๋ก ๋์๊ฐ๋ค. ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ๋ฐฐํฌํ๋ค.
Continuous Delivery
CD๋ ์ง์์ ์ธ ์๋น์ค ์ ๊ณต(Continuous Delivery) ๋๋ ์ง์์ ์ธ ๋ฐฐํฌ(Continuous Deploy)๋ฅผ ์๋ฏธํ๋ฉฐ ์ด ๋ ์ฉ์ด๋ ์ํธ ๊ตํํ์ฌ ์ฌ์ฉ๋๋ค.
๋ ๊ฐ์ง ์๋ฏธ ๋ชจ๋ ํ์ดํ๋ผ์ธ์ ์ถ๊ฐ ๋จ๊ณ์ ๋ํ ์๋ํ๋ฅผ ๋ปํ๋ค.
๋๋ก๋ ์ผ๋ง๋ ๋ง์ ์๋ํ๊ฐ ์ด๋ฃจ์ด์ง๊ณ ์๋ ์ง๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด ๋ณ๋๋ก ์ฌ์ฉ๋๊ธฐ๋ ํ๋ค.
์ง์์ ์ธ ์ ๊ณต์ด๋ ๊ฐ๋ฐ์๋ค์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉํ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฒ๊ทธ ํ ์คํธ๋ฅผ ๊ฑฐ์ณ ๋ ํฌ์งํ ๋ฆฌ์ ์๋์ผ๋ก ์ ๋ก๋ ๋๋ ๊ฒ์ ๋ปํ๋ฉฐ, ์ด์ํ (์๋ง๋ Devops)์ ์ด ๋ ํฌ์งํ ๋ฆฌ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์๊ฐ ํ๋ก๋์ ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌํ ์ ์๋ค.
์ด๋ ๊ฒ ๋๋ฉด ๊ฐ๋ฐํ๊ณผ ๋น์ฆ๋์คํ ๊ฐ์ ๊ฐ์์ฑ๊ณผ ์ปค๋ฎค๋์ผ์ด์ ๋ถ์กฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ง์์ ์ธ ์๋น์ค ์ ๊ณต์ ์ต์ํ์ ๋ ธ๋ ฅ์ผ๋ก ์๋ก์ด ์ฝ๋๋ฅผ ๋ฐฐํฌํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
Continuous Deploy
์ง์์ ์ธ ๋ฐฐํฌ(๋ ๋ค๋ฅธ ์๋ฏธ์ CD)๋ ๊ฐ๋ฐ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ ํฌ์งํ ๋ฆฌ์์ ๊ณ ๊ฐ์ด ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋ก๋์ ํ๊ฒฝ๊น์ง ์๋์ผ๋ก ๋ฆด๋ฆฌ์ค ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณต ์๋๋ฅผ ์ ํดํ๋ ์๋ ํ๋ก์ธ์ค๋ก ์ธํ ์ด์ํ์ ํ๋ก์ธ์ค ๊ณผ๋ถํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
์ง์์ ์ธ ๋ฐฐํฌ๋ ํ์ดํ๋ผ์ธ์ ๋ค์ ๋จ๊ณ๋ฅผ ์๋ํํจ์ผ๋ก์จ Continuous Delivery์ ์ฅ์ ์ ํ์ฉํ๋ค.

๊ฒฐ๊ณผ์ ์ผ๋ก CI/CD๋ ํ์ดํ๋ผ์ธ์ผ๋ก ํํ๋๋ ํ๋ก์ธ์ค๋ฅผ ์๋ฏธํ๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ง์์ ์ธ ์๋ํ ๋ฐ ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง์ ์ถ๊ฐํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
CI/CD ํ์ดํ๋ผ์ธ์ด ์ค์ํ ์ด์
CI์ CD๋ ๋ชจ๋ ์ต์ DevOps์ ํ์์ ์ด๋ฉฐ Agile ๋ฐฉ๋ฒ๋ก ์ง์์ ๋์์ด ๋ค๋ค.
์ด์ ๊ฐ์ ํจ๊ณผ์ ์ธ CI/CD ํ์ดํ๋ผ์ธ์๋ ๋ค์๊ณผ ๊ฐ์ ์ฅ์ ์ด ์๋ค.
๋ช
ํํ ํ๋ก์ธ์ค
์ฒด๊ณ์ ์ธ CI/CD ์ ๊ทผ ๋ฐฉ์์ ํ์ดํ๋ผ์ธ์ ๊ฐ ๋จ๊ณ๋ฅผ ๋ช ํํ๊ฒ ๋ฐฐ์นํ์ฌ ์ ํํ ์ด๋ค ์์ ์ด ์ด๋ฃจ์ด์ ธ์ผ ํ๋์ง์ ๋ํ ์์ธํ ๊ฐ์๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ๊ตฌ์๋ถํฐ ์๋ฃ๊น์ง ํ๋ก์ ํธ์ ๊ธธ์ก์ด๊ฐ ๋๋ค.
๋์ ํ์ง์ ์ฝ๋
์๊ณ ์ ์ง์ ์ธ ๋ณํ๋ ํ์ง๊ณผ ํจ๊ณผ๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ๊ฒํ ํ ์ ์๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก, ์ฝ๋ ๋ด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ํจ์ฌ ๋ ๋ช ๋ฐฑํ๊ฒ ๋๋ฌ๋๋ฏ๋ก ํ๋ก์ธ์ค ์ด๊ธฐ์ ํด๊ฒฐํ ์ ์๋ค.
๋ฐ๋ผ์ ํ๋ก์ ํธ ์ ์ฒด์ ๊ฑธ์ณ ์ฝ๋์ ํ์ง์ด ๋์์ง๋ค.
์ฌ์ด ์ก์ธ์ค
๋ณํ๊ฐ ์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๋์ผ๋ก ์ ์ฅ๋๋ฏ๋ก, ์ดํด ๊ด๊ณ์, QA, ๊ธฐํ ๊ถํ์ ๊ฐ์ง ํ๊ณผ ๊ฐ์ธ์ด ์ต์ ๋ฒ์ ์ ํฌํจํ ๋ชจ๋ ๋ฒ์ ์ ์ ํ์ ์ง์ ์ก์ธ์คํ ์ ์๋ค.
์ ๋ขฐํ ์ ์๋ ๋ฒ์ ๊ด๋ฆฌ
์ฝ๋์ ๊ด๋ จํ ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑํด์ผ ํ ์ ์๋ค.
ํจ๊ณผ์ ์ธ ๋ฒ์ ๊ด๋ฆฌ ๊ดํ์ ํตํด ๋ฒ๊ฑฐ๋ก์์ ์ต์ํํ์ฌ ๋กค๋ฐฑํ ์ ์๋ค.
๋น ๋ฅธ ํผ๋๋ฐฑ
์ฌ์ฉ์์ ํ ์คํธ ๋ด๋น์๋ CI/CD ํ์ดํ๋ผ์ธ์ ํตํด ๊ฑฐ์ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ ํ๋ ๊ทธ๋งํผ ์ฆ๊ฐ์ ์ผ๋ก ํผ๋๋ฐฑ์ ๋ํ ์กฐ์น๋ฅผ ์ทจํ ์ ์๋ค.
์งง์ ํ
์คํธ ์ฃผ๊ธฐ
๊ธฐ์กด์ ๊ฐ๋ฐ์์๋ ์ ํ ์ ์ฒด์ ํด๋นํ๋ ์ฝ๋๋ฅผ ๋ฐ๋ณตํด์ ํ ์คํธํด์ผ ํ๋ฏ๋ก ํ ์คํธ ์ฌ์ดํด์ด ๊ธธ๊ณ ๋ณต์กํ๋ค.
CI/CD ํ์ดํ๋ผ์ธ์์๋ ์ฝ๋์ ์์ด ๊ณ์ํด์ ๊ฐ์ํ๊ณ ์์ด ์ด๋ฌํ ๋ฌธ์ ๊ฐ ๋ ์ด์ ๋ฐ์ํ์ง ์๋๋ค.
๊ฐ๋ฐ ๋ฏผ์ฒฉ์ฑ ํฅ์
๊ฐ๋ฐ ํ์ CI/CD ํ์ดํ๋ผ์ธ์ ํตํด ์กฐ์ง์ ์๊ตฌ ์ฌํญ์ ์ฆ๊ฐ์ ์ผ๋ก ๋์ํ๊ณ ํ์ํ ๊ฒฝ์ฐ ์งํ ์ค์ธ ํ๋ก์ ํธ์ ๋ํ ์กฐ์น๋ฅผ ์ทจํ ์ ์๋ค.
๊ฐ๋ฐ ์๋ต์ฑ์ด ํฅ์๋จ์ ๋ฐ๋ผ, ๊ธฐ์ ์ ํ์ํ ์์ ์ ์ ํํ ๊ฐ๋ ฅํ๊ณ ์ ๋ฌธ์ ์ธ ์ํํธ์จ์ด ์๋ฃจ์ ์ ์ด์ ์ ์ป์ ์ ์๋ค.
Last updated