CD ?
Continuous Deployment, ์ง์์ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ๊ณผ์ ์์ ์ฌ์ฉ๋๋ ๋ฐฉ์์ด๋ค. ์ฝ๋์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ์๋, ์๋์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๊ณ ํ ์คํธํ์ฌ ์ด์ํ๊ฒฝ์ ๋ฐฐํฌํ๋ค. ์ง์์ ๋ฐฐํฌ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ์ฌ๋ฌ๊ฐ์ง ๋๊ตฌ์ ํ๋ก์ธ์ค๊ฐ ํ์ํ๋ฐ, ์๋ฅผ๋ค์ด ์ฝ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ปค๋ฐํ๋ฉด ํด๋น ์ฝ๋๋ฅผ ์๋์ผ๋ก ๋น๋ํ๊ณ , ํ ์คํธ๋ฅผ ์คํํ๊ณ , ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ์ด์ํ๊ฒฝ์ ๋ฐฐํฌํ๋ CI / CD ํ์ดํ๋ผ์ธ์ด ๊ตฌ์ฑ๋๋ค.
- ์ง์์ ๋ฐฐํฌ๋ฅผ ํตํด ๊ฐ๋ฐ ๋ฐ ์ด์ํ๊ฐ์ ์ํต๊ณผ ํ์ ์ ํฅ์ ์ํฌ์์๋ค.
- ๊ฐ๋ฐํ์ ๋๋น ๋ฅด๊ณ ์์ ์ ์ธ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๊ณ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋น ๋ฅด๊ฒ ๋์์ด ๊ฐ๋ฅํ๋ค.
- ์ง์์ ๋ฐฐํฌ ๋ฐฉ์์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ์ฃผ๊ธฐ๋ฅผ ๋จ์ถํ๊ณ , ๋ฒ๊ทธ๋ฅผ ๋น ๋ฅด๊ฒ ์์ ํ ์์๊ฒ ๋์์ค๋ค.
ํ์ง๋ง ๋ณด์ ์์ ์ฑ์ ๋ํ ์ฐ๋ ค๊ฐ ์์ด, ๋ณด์๊ณผ ์์ ์ฑ์ ๊ณ ๋ คํ์ฌ ๊ฐ๋ฐ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ฑํ๊ณ , ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง๊ณผ ํผ๋๋ฐฑ์ ํตํด ๊ฐ์ ํด์ผํ๋ค.
๋ฐฐํฌ ์๋ํ(Automated Deployment)
๋ฐฐํฌ ์๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ์์ ์ผ์ด๋๋ ๋ฐ๋ณต์ ์ด๊ณ ์๋์ ์ธ ์์ ์ ์๋ํ ํ๋ ๋ฐฉ์์ด๋ค. ๋ฐฐํฌ์ ๋ํ ์๋ํ๋ฅผ ํตํด ์ธ๊ฐ์ ์ค์๋ฅผ ์ค์ด๊ณ , ๋ฐฐํฌ ์๊ฐ์ ๋จ์ถํ์ฌ ๊ฐ๋ฐ์๋ค์ด ๋์ฑ ๋น ๋ฅด๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ ์์๊ฒ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐฐํฌ ์๋ํ๋ ์์ ์ฑ๊ณผ ์ผ๊ด์ฑ์ ๋์ด๋๋ฐ ๋์์ด ๋๋ค. ์๋ํ๋ ์์ ์ ํตํด ์ผ๊ด์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ป์์์๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ํ๋ก์ธ์ค์์ ์์ฐ์ฑ๊ณผ ํจ์จ์ฑ์ ๋์ผ์์๋ ์์์ด๋ค.
๋ฐฐํฌ ํ์ดํ๋ผ์ธ
๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ์์ค์ฝ๋์ ๊ด๋ฆฌ๋ถํฐ ์ค์ ์๋น์ค๊น์ง ๋ฐฐํฌ ๊ณผ์ ์ ์ฐ๊ฒฐํ๋ ๊ตฌ์กฐ์ด๋ค. ํ์ดํ๋ผ์ธ์ ์ ์ฒด ๋ฐฐํฌ๊ณผ์ ์ ๋จ๊ณ๋ก ๋ถ๋ฆฌํ์ฌ, ๊ฐ ๋จ๊ณ(stage)๋ ํ์ดํ๋ผ์ธ์์์ ์์ฐจ์ ์ผ๋ก ์คํ๋๋ฉฐ, ๊ฐ ๋จ๊ณ์ ํ์ํ ์์ (Actions)์ ์ํํ๋ค.
1. Source Stage : ์๊ฒฉ ์ ์ฅ์์์ ๊ด๋ฆฌ๋๋ ์์ค์ฝ๋์ ๋ณ๊ฒฝ์ฌํญ์ด ์ผ์ด๋ ๋, ์ด๊ฒ์ ๊ฐ์งํ์ฌ ๋ค์๋จ๊ณ๋ก ์ ๋ฌํ๋ค.
2. Build Stage : source ๋จ๊ณ์์ ์ ๋ฌ๋ฐ์ ์ฝ๋๋ฅผ ์ปดํ์ผ, ๋น๋, ํ ์คํธํ์ฌ ๊ฐ๊ณตํ๋ค. build ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ์์ฑ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋ค์ ๋จ๊ณ๋ก ์ ๋ฌํ๋ค.
3. Deploy Stage : build ๋จ๊ณ์์ ์ ๋ฌ๋ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ค์ ์๋น์ค์ ๋ฐ์ํ๋ ์์ ์ ์ํํ๋ค.
์ง์์ ๋ฐฐํฌ(CD) vs ๋ฐฐํฌ์๋ํ(AD)
๋๋ค ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ๋ฅผ ์๋ํ ํ๋ ๋ฐฉ์์ด๋ค. ์ง์์ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๋ฐ ์ด์์ ์ ์ฒด์ ์ธ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๋๊ฒ์ด๊ณ , ๋ฐฐํฌ ์๋ํ๋ ํน์ ํ ์์ ์ ๋ํด์ ์๋ํ๋ฅผ ์ํํ๋ ๊ฒ์ด๋ค.