๐ฉ๐ป CI / CD / ํ์ดํ๋ผ์ธ ์ด๋?
CI/CD
CI (Continuous Integration)
CI/CD์ "CI"๋ ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ํ ํ๋ก์ธ์ค์ธ ์ง์์ ์ธ ํตํฉ(Continuous Integration)์ ์๋ฏธํ๋ค.
CI๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํํ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์๋ก์ด ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ๊ธฐ์ ์ผ๋ก ๋น๋ ๋ฐ ํ ์คํธ๋์ด ๊ณต์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํตํฉ๋๋ฏ๋ก,
์ฌ๋ฌ ๋ช ์ ๊ฐ๋ฐ์๊ฐ ๋์์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ๊ณผ ๊ด๋ จ๋ ์ฝ๋ ์์ ์ ํ ๊ฒฝ์ฐ ์๋ก ์ถฉ๋ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
CD (Continuous Delivery / Deployment)
CI/CD์ "CD"๋ ์ง์์ ์ธ ์๋น์ค ์ ๊ณต(Continuous Delivery) ๋ฐ/๋๋ ์ง์์ ์ธ ๋ฐฐํฌ(Continuous Deployment)๋ฅผ ์๋ฏธํ๋ฉฐ ์ด ๋ ์ฉ์ด๋ ์ํธ ๊ตํ์ ์ผ๋ก ์ฌ์ฉ๋๋ค.
๋ ๊ฐ์ง ์๋ฏธ ๋ชจ๋ ํ์ดํ๋ผ์ธ์ ์ถ๊ฐ ๋จ๊ณ์ ๋ํ ์๋ํ๋ฅผ ๋ปํ์ง๋ง ๋๋ก๋ ์ผ๋ง๋ ๋ง์ ์๋ํ๊ฐ ์ด๋ฃจ์ด์ง๊ณ ์๋์ง๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด ๋ณ๋๋ก ์ฌ์ฉ๋๊ธฐ๋ ํ๋ค.
์ง์์ ์ธ ์ ๊ณต(Continuous Delivery)
์ด๋ ๊ฐ๋ฐ์๋ค์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉํ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฒ๊ทธ ํ ์คํธ๋ฅผ ๊ฑฐ์ณ ๋ฆฌํฌ์งํ ๋ฆฌ(์: GitHub ๋๋ ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ)์ ์๋์ผ๋ก ์ ๋ก๋๋๋ ๊ฒ์ ๋ปํ๋ฉฐ, ์ด์ํ์ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์๊ฐ ํ๋ก๋์ ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌํ ์ ์๋ค.
์ด๋ ๊ฐ๋ฐํ๊ณผ ๋น์ฆ๋์คํ ๊ฐ์ ๊ฐ์์ฑ๊ณผ ์ปค๋ฎค๋์ผ์ด์ ๋ถ์กฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์ค๋ค.
์ง์์ ์ธ ์ ๊ณต์ ๊ท์ฐฎ์ push ์์ ์์ด ์ต์ํ์ ๋ ธ๋ ฅ์ผ๋ก ์๋ก์ด ์ฝ๋๋ฅผ ๋ฐฐํฌํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
์ง์์ ์ธ ๋ฐฐํฌ(Continuous Deployment)
๋ ๊ฐ๋ฐ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๊ณ ๊ฐ์ด ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋ก๋์ ํ๊ฒฝ๊น์ง ์๋์ผ๋ก ๋ฆด๋ฆฌ์คํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณต ์๋๋ฅผ ์ ํดํ๋ ์๋ ํ๋ก์ธ์ค๋ก ์ธํ ์ด์ํ์ ํ๋ก์ธ์ค ๊ณผ๋ถํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
์ง์์ ์ธ ๋ฐฐํฌ๋ ํ์ดํ๋ผ์ธ์ ๋ค์ ๋จ๊ณ๋ฅผ ์๋ํํจ์ผ๋ก์จ ์ง์์ ์ธ ์ ๊ณต์ด ๊ฐ์ง ์ฅ์ ์ ํ์ฉํ๋ค.
CI / CD ์ฅ์
CI / CD๋ฅผ ์ค์ฒํ๋ฉด ๊ฐ๋ฐ, ํ ์คํธ, ์ด์ ๋ชจ๋ฒ ์ฌ๋ก์ ํ์ ๋ง์ถค์ผ๋ก์จ
๋ค์๊ณผ ๊ฐ์ ์ค์ง์ ํํ๋ ์ป์ ์ ์๋ค.
- ๋ณ๊ฒฝ ์ฌํญ์ ์์ฃผ ํธ์ํ๊ณ ์ ํ๋ ๊ฐ๋ฐ์์ ์์ ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ ์ด์ ๋ด๋น์ ์ฌ์ด์ ๋ง์ฐฐ์ ํด๊ฒฐํ๋ค.
- ์ฝ๋ ๋ณ๊ฒฝ์ ์ฌ์ฉ์์๊ฒ ํธ์ํ๊ธฐ ์ ์ ๊ฒ์ฆํ๊ธฐ ์ํด ๊ฐ๋ฐ ํ์ ์ง์์ ์ธ ํ ์คํธ๋ฅผ ์คํํด์ผ ํ๋ค.
- ํฐ ๋ณ๊ฒฝ๋ณด๋ค ์์ ์ ์ผ๋ก ํตํฉ ๋ฐ ํ ์คํธ๊ฐ ๊ฐ๋ฅํ ๋ ์์ ๊ท๋ชจ์ ์ฆ๋ถ์ ์ฝ๋ ๋ณ๊ฒฝ์ ์ํํ๋๋ก ๊ฐ๋ฐ์๋ฅผ ๋ ๋ คํ๋ค.
- ์๋ก์ด ๊ธฐ๋ฅ์ ์ํ ๋ ๋์ ๋ฒ์์ ๊ฐ๋ฐ ์์ ์ ์ํํ๋ ๋์์ ์ ์ํ ์์ ์์ฒญ๊น์ง ๋ฐ๋ ํ์ ์์ ์ ์ ์ฐ์ฑ์ ๋ถ์ฌํ๋ค.
- ๊ธฐ๋ฅ, ์ฑ๋ฅ ๋ฐ ๋ฐ์ดํฐ ์ค์ฌ ํ ์คํธ๋ฅผ ๋ ๋ง์ด ์คํํด์ ๋ ๋์ ํ์ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ณตํ๊ณ ํ๋ก๋์ ๊ฒฐํจ์ ์ค์ผ ์ ์๊ฒ ํด์ค๋ค.
CI/CD Pipeline
๋ค์ ๋ค์ด์ด๊ทธ๋จ์ CI/CD ํ์ดํ๋ผ์ธ ๋จ๊ณ๋ฅผ ์์ธํ ๋ณด์ฌ์ค๋ค. ํ์ดํ๋ผ์ธ์ด๋ผ๊ณ ํ๋ ์ด์ ๋ ์ด๋ฌํ ๋ฐฐํฌ ์๋ํ ๊ณผ์ ๋ค์ด ๋ฌผ ํ๋ฅด๋ฏ ํ๋ฌ๊ฐ๋ ๊ฒ์ ๋ฌ์ฌํด์ ๊ทธ๋ ๊ฒ ๋ถ๋ฅด๊ฒ ๋๋ค.
ํ์ดํ ๋ผ์ธ์ด๋?
์ปดํจํฐ ๊ณผํ์์ ๋ฐ์ดํฐ ํ์ดํ ๋ผ์ธ (์ผ๋ฐ์ ์ผ๋ก ํ์ดํ ๋ผ์ธ์ด๋ผ๊ณ ํจ)์ ์ ๊ณต๋ ๋ฐ์ดํฐ ๋๋ ์ฝ๋์ ๋ํด ์ฌ์ ์ ์ ๋ ์์ ์ ์ํํ๋ ์ผ๋ จ์ ์ฒ๋ฆฌ ๋จ๊ณ๋ค.
ํ์ดํ ๋ผ์ธ ์ฌ์ฉ์ ๋ชฉ์ ์ ๋ฐ๋ณต์ ์ธ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ์ฌ ์๊ฐ์ ์ ์ฝํ๊ณ ์ ๋ฐ๋๋ฅผ ๋์ด๋ ๊ฒ์ด๋ค.
ํ์ดํ ๋ผ์ธ์ ์ด๋ฌํ ์ฅ์ ์ CI / CD ์ธํ๋ผ์์ ํธํ์ฑ๊ณผ ํจ์จ์ฑ์ ๋์ฌ์ค๋ค. ํนํ CI / CD ํ์ดํ ๋ผ์ธ์ ์ต์ ๋ฒ์ ์ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ดํธํ๊ณ ์ ๊ณตํ๋ ค๋ ์ผ๋ จ์ ์ฒ๋ฆฌ ๋จ๊ณ๋ฅผ ์ํํ ์ ์๋ค.
CI / CD ํ์ดํ ๋ผ์ธ ๊ตฌ์ฑ ์์
- ๋น๋ (์ํํธ์จ์ด ์ปดํ์ผ),
- ํ ์คํธ (ํธํ์ฑ ๋ฐ ์ค๋ฅ ๊ฒ์ฌ)
- ๋ฆด๋ฆฌ์ค (๋ฒ์ ์ ์ด ์ ์ฅ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํธ)
- ๋ฐฐํฌ (๊ฐ๋ฐ์์ ํ๋ก๋์ ํ๊ฒฝ์ผ๋ก์ ๋ณํ)
- ๊ท์ ์ค์ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ
CI / CD ํ์ดํ ๋ผ์ธ ๋ชฉํ๋ ๋น๋, ํ ์คํธ ๋ฐ ์ ๊ณต์ ์๋ ์ฒ๋ฆฌ๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ์๋ํ๋๊ณ ์์ ์ ์ผ๋ก ๋ง๋๋ ๊ฒ์ด๋ค.
# ์ฐธ๊ณ ์๋ฃ
https://tirupati-tour-packages.com/ko/ko147801/
https://velog.io/@makeitcloud/%EB%9E%80-CI-Continuous-Integration-CD-Continuous-Deployment-%EB%9E%80