โบ๋ฐฐํฌ ์๋ํ ํ์ดํ๋ผ์ธ : ์์ค ์ฝ๋์ ๊ด๋ฆฌ๋ถํฐ ์ค์ ์๋น์ค๋ก์ ๋ฐฐํฌ ๊ณผ์ ์ ์ฐ๊ฒฐํ๋ ๊ตฌ์กฐ.
1. Source ๋จ๊ณ : ์๊ฒฉ ์ ์ฅ์์ ๊ด๋ฆฌ๋๊ณ ์๋ ์์ค ์ฝ๋์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ผ์ด๋ ๊ฒฝ์ฐ, ์ด๋ฅผ ๊ฐ์งํ๊ณ ๋ค์ ๋จ๊ณ๋ก ์ ๋ฌํ๋ ์์ ์ ์ํ
2. Build ๋จ๊ณ : Source ๋จ๊ณ์์ ์ ๋ฌ๋ฐ์ ์ฝ๋๋ฅผ ์ปดํ์ผ, ๋น๋, ํ ์คํธํ์ฌ ๊ฐ๊ณตํ๋ค. ์ด ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ์์ฑ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋ค์ ๋จ๊ณ๋ก ์ ๋ฌํ๋ ์์ ์ ์ํํ๋ค.
3. Deploy ๋จ๊ณ : Build ๋จ๊ณ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๊ฒฐ๊ณผ๋ฌผ์ ์ค์ ์๋น์ค์ ๋ฐ์ํ๋ ์์ ์ ์ํํ๋ค.
โบCI/CD ํ์ดํ๋ผ์ธ
โ๏ธ ์ง์์ ํตํฉ (CI : continuous integration)
ํ ๊ตฌ์ฑ์์ด ๊ฐ์์ ์์ ์ ์์ฃผ ํตํฉํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ์.
Code : ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์ฝ๋ ์ ์ฅ์์ push & merge / ๋ชจ๋ ๊ฐ๋ฐํ์ด ์ฝ๋ ๋ณํ ํ์ธ๊ฐ๋ฅ(ํฌ๋ช ํจ)
Build : ์ฝ๋ ์ ์ฅ์๋ก๋ถํฐ ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ (์ ๋ ํ ์คํธ ํ) build
Test : ์ฝ๋ ๋น๋์ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ์ ํตํฉ๋๋์ง ํ์ธ
** ๋น๋๋ ๊ฐ๋ฐ์๋ง ์ฝ์ ์ ์๋ ์์ค ์ฝ๋๋ฅผ ์คํ๊ฐ๋ฅํ ์ฝ๋ ๋ฐ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ณํํ๋ ๊ณผ์ ์ด๋ค.
๋ฒ๋ค๋ง๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์์ค์ฝ๋๋ฅผ ๋ ์ ์ฝ์ ์ ์๊ฒ ๋์์ฃผ๊ธฐ ๋๋ฌธ์, ๋น๋ ๊ณผ์ ์ค ํ๋๋ก ๋ณผ ์ ์๋ค. (๋น๋๋ผ๊ณ ํต์ฉ๋๊ธฐ๋ ํจ.)
์ฅ์
1. ๊ฐ๋ฐ ์์ฐ์ฑ ํฅ์ = ์ฃผ๊ธฐ์ ์ผ๋ก merge๋ฅผ ํ๊ธฐ ๋๋ฌธ์ merge ์ถฉ๋์ ํผํ ์ ์๋ค.
2. ๋ฌธ์ ์ ์ ๋น ๋ฅด๊ฒ ๋ฐ๊ฒฌ = merge๋๋ ๋ชจ๋ ์ฝ๋๋ค์ ์๋์ผ๋ก build๋๊ณ , test ๋๊ธฐ ๋๋ฌธ์ ์ฝ๋์ ๊ฒฐํจ์ด๋ ๋ฌธ์ ์ ์ ๋น ๋ฅด๊ฒ ์ ์ ์๋ค.
3. 2์์ ๋ฐ๊ฒฌ๋ ๋ฌธ์ ์ ๋น ๋ฅด๊ฒ ์์ ๊ฐ๋ฅ = ์ฃผ๊ธฐ์ ์ผ๋ก merge๋ฅผ ํ๊ธฐ ๋๋ฌธ์, ์ฝ๋์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๋ฅผ ์์ ํ ๋๋ ์์ ๋จ์์ ๋ฌธ์ ์ ์ ํ์ธ ๊ฐ๋ฅํด์ ๋ฒ๊ทธ๋ฅผ ๋น ๋ฅด๊ฒ ์์ ํ ์ ์๋ค.
4. ์ฝ๋์ ํ๋ฆฌํฐ ํฅ์ = CI๋ฅผ ์ ์ด์ํ๊ธฐ ์ํด์ unit test๋ฅผ ํฌํจํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
โ๏ธ ์ง์์ ๋ฐฐํฌ (CD : continuous delivery / deployment)
์ง์์ ํตํฉ ๊ณผ์ ์ด ์ํํ๊ฒ ๋๋๋ฉด ๋ฐ๋ก ๊ณ ๊ฐ์๊ฒ ๋ฐฐํฌํ๋ ๊ฒ.
Release : ๋น๋๊น์ง ๋ชจ๋ ์ค๋น๋์๊ณ , ์ด๋ค ๊ธฐ๋ฅ์ด ๊ฐ๋ฐ๋์๋์ง ๋น์ฆ๋์ค ๊ด๊ณ์๋ค๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋๋ ๋จ๊ณ.
์ด๋ค ๊ธฐ๋ฅ์ ๋ฃ์์ง, ํด๋น ๋ฆด๋ฆฌ์ฆ๋ ๋ฐฐํฌ๋ฅผ ํ ์ง ๋ง์ง ๊ฒฐ์ ํ๋ ๋จ๊ณ๋ก ์ฌ๋ฌ ์์ฌ๊ฒฐ์ ์ด ์ด๋ฃจ์ด์ง๋ค.
Deploy : ๋ฐฐํฌ
Operation : ๋ฐฐํฌ๋ ์ํํธ์จ์ด๋ฅผ ์ค์ ์ด์ฉํ๋ ๊ณผ์ . ๊ณ ๊ฐ์ ํผ๋๋ฐฑ์ ์ถฉ๋ถํ ๋ฐ์ ๊ธฐํ์ ๋ฐ์ํ๋ค.
์์ฆ์๋ ๋ฒ์ ๋ฆด๋ฆฌ์ฆ๋ฅผ ์ ๊ธฐ๋กํด๋๊ณ ๋ฐ๋ก๋ฐ๋ก ๋ฐฐํฌํ๋ ์ฌ๋ก๊ฐ ์ฆ๊ฐํ๊ณ ์๋ค.
โบ๊ฒฐ๋ก
๋ ์์ฃผ ์ฝ๋๋ฅผ ํฉ์น๊ณ , ๋ ์์ฃผ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ธํ์, ๋ ์์ฃผ ๊ณ ๊ฐ์๊ฒ ๋ณด์ฌ์ฃผ์!
=> ์์ ํ๋ก์ธ์ค๋ฅผ ์๋ํํด์ผํ๋ค.
hello world๋ผ๋ ์์ผ๋ฉด main branch์ pull request์ merge ํ ๋๋ง๋ค ๋ฐฐํฌํ๋๊ฑธ ์ถ์ฒํจ.
โบCI/CD๋ฅผ ์ํ ๋ค์ํ Tools!
Buildkite
GitHub Actions
GitLab CI/CD
Bitbucket Pipelines
circleci
Vercel
Netlify
๐ ์๋ชป๋ ๊ฐ๋ ์ ๋ฌ์ด ์๋ค๋ฉด ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค. ์ ์ ์ฑ์ฅ์ ํฐ ๋์์ด ๋ฉ๋๋ค๐ค
'๐ฅFrontEnd > ํ๋ก ํธ์๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MVC๋? MVC๋ฅผ ์งํค๋ฉด์ ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ (0) | 2022.11.20 |
---|---|
์ต์ ํ (Optimization), ์ต์ ํ ๊ธฐ๋ฒ (0) | 2022.08.09 |
Lighthouse๋, Lighthouse ์ฌ์ฉํ๊ธฐ, Lighthouse ๋ถ์ํด๋ณด๊ธฐ (0) | 2022.08.04 |
TIL) ๋ฒ๋ค๋ง์ด๋, Webpack์ ํ์์ฑ, ์นํฉ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ (0) | 2022.07.25 |
TIL) WAI-ARIA, aria-live, ์คํฌ๋ฆฐ ๋ฆฌ๋, ์น ์ ๊ทผ์ฑ ํฅ์ ์ํค๋ ๋ฐฉ๋ฒ (0) | 2022.07.11 |