์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ์๋ฐ์คํฌ๋ฆฝํธ
- DB๋๋ฆผ๋ฆฌ๋์ฅํ์
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- js
- DB๋ง์ด์ ๋
- ์ฝ๋ฉ๊ณต๋ถ
- ์ฝ๋์TIL
- ReactNative
- ์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ
- ์๊ณ ๋ฆฌ์ฆ
- ์ฑ๊ฐ๋ฐ๊ฐ์
- ์ค๋ธ์
- ์ฝ๋์
- c++ํค๋
- ๋ด์ผ๋ฐฐ์์บ ํ
- ๋ด์ผ๋ฐฐ์์บ ํ์ฌ์ ์บ ํ
- GIT
- ํ๊ฒฝ๊ต์ก๋ด์ฌ
- ์ฝ๋์์ฐ๋ฐฐ์๋
- bottom tab navigation
- ์ฑ๊ฐ๋ฐ๋ถํธ์บ ํ
- ๋ ์ํ๋
- ํผ๊ณต๋จJS
- ์ค๋๋์ฝ๋์
- ๋ฅดํ์ฆ5๊ธฐ
- ๋ฅดํ์ฆ
- ์ฝ๋์๊ฐ์์ถ์ฒ
- ํผ๊ณต๋จ
- DB๊น์ค๊ธฐ๋ฌธํ์ฌ๋จ
- ํผ๊ณต์ปด์ด
- Today
- Total
axnuo
[CI/CD] CI/CD์ ๊ฐ๋ ๋ฐ ์ข ๋ฅ ๋ณธ๋ฌธ
๐CI/CD๋?
์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ๊ณผ์ ์ ์๋ํํ๊ณ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ฐฉ๋ฒ๋ก . ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ค์ด ์ฝ๋ ๋ณ๊ฒฝ์ ์์ฃผ, ์์ ์ ์ผ๋ก, ๊ทธ๋ฆฌ๊ณ ์ง์์ ์ผ๋ก ๋ฐฐํฌํ ์ ์๋๋ก ๋๋๋ค.
Continuous Integration (CI)
์ง์์ ์ธ ํตํฉ : ๊ฐ๋ฐ์๋ค์ด ์์ฑํ ์ฝ๋๋ฅผ ํตํฉํ๋ ํ๋ก์ธ์ค.
๋ชฉํ : ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ฆ์ ํ ์คํธ ๋๊ณ , ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ์ฌ ํด๊ฒฐํ๋ ๊ฒ
ํต์ฌ ์์ : ์๋ํ๋ ๋น๋์ ํ ์คํธ
[CI์ ์ด์ ]
- ์ฝ๋ ๋ณ๊ฒฝ ์ ๋น ๋ฅด๊ฒ ํผ๋๋ฐฑ์ ๋ฐ์ ์ ์์.
- ์๋ํ๋ ํ ์คํธ๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ์ด๊ธฐ์ ๋ฐ๊ฒฌํ๊ณ ํด๊ฒฐํ ์ ์์.
- ํ ๋ด ์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ๋์์ ์์ ํ ์ ์์ผ๋ฉฐ, ์๋ก์ ์ฝ๋ ๋ณ๊ฒฝ์ด ์ถฉ๋ํ์ง ์๋๋ก ๊ด๋ฆฌ ๊ฐ๋ฅ
Continuous Delivery (CD)
์ง์์ ์ธ ๋ฐฐํฌ : ํตํฉ๋ ์ฝ๋๋ฅผ ํ๋ก๋์ ํ๊ฒฝ์ ๋ฐฐํฌํ ์ค๋น.
ํต์ฌ ์์ : ์ฝ๋๊ฐ ํญ์ ๋ฐฐํฌํ ์ค๋น๊ฐ ๋ ์ํ๋ก ์ ์ง๋๋ ๊ฒ, ํ์ง๋ง ์ค์ ๋ฐฐํฌ๋ ์๋์ผ๋ก ์ด๋ฃจ์ด์ง.
[CD์ ์ด์ ]
- ์ฝ๋๋ฅผ ์์ฃผ ๋ฐฐํฌํ ์ค๋น๊ฐ ๋์ด ์๊ธฐ ๋๋ฌธ์, ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ ๋ณํ์ ๋น ๋ฅด๊ฒ ๋์ํ ์ ์์.
- ๋ฐฐํฌ ํ๋ก์ธ์ค๊ฐ ์๋ํ๋์ด ์ธ์ ์ค๋ฅ๋ฅผ ์ค์ผ ์ ์์.
Continuous Deployment (CD)
Continuous Delivery์ ํ์ฅ, ์ค๋น๋ ์ฝ๋๋ฅผ ์๋์ผ๋ก ํ๋ก๋์ ํ๊ฒฝ์ ๋ฐฐํฌํจ. ์ฆ, ๋ฐฐํฌ ๊ณผ์ ์ด ์์ ํ ์๋ํ๋์ด ์ฌ๋์ด ๊ฐ์ ํ ํ์๊ฐ ์์ต๋๋ค.
[Continuous Deployment์ ์ด์ ]
- ๋น ๋ฅด๊ฒ ๊ธฐ๋ฅ ๋ฐฐํฌ ๊ฐ๋ฅ.
- ์ธ์ ์ค๋ฅ๋ฅผ ์ค์ด๋ฉฐ, ๋ฐฐํฌ ์ฃผ๊ธฐ๋ฅผ ๊ทน๋จ์ ์ผ๋ก ์งง๊ฒ ๋ง๋ฆ.
๐CI/CD ํ์ดํ๋ผ์ธ์ ์ฃผ์ ๋จ๊ณ
์ํํธ์จ์ด ๊ฐ๋ฐ๋ถํฐ ๋ฐฐํฌ๊น์ง์ ๊ณผ์ ์ ์๋ํํ๊ธฐ ์ํ ์ฌ๋ฌ ๋จ๊ณ๋ก ๊ตฌ์ฑ
- ์ฝ๋ ์์ฑ (Code): ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๋ฒ๊ทธ๋ฅผ ์์ ํ ํ ์ปค๋ฐ
- ๋น๋ (Build): ์ปค๋ฐ๋ ์ฝ๋๊ฐ ์๋์ผ๋ก ๋น๋. ๋น๋์์๋ ์ข ์์ฑ ๊ด๋ฆฌ, ์ปดํ์ผ, ํจํค์ง ๋ฑ์ด ์ด๋ฃจ์ด์ง.
- ํ ์คํธ (Test): ๋น๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ์๋ํ๋ ํ ์คํธ ์คํ. ์ ๋ ํ ์คํธ, ํตํฉ ํ ์คํธ, ๊ธฐ๋ฅ ํ ์คํธ ๋ฑ์ด ํฌํจ๋ ์ ์์.
- ๋ฐฐํฌ ์ค๋น (Release): ํ ์คํธ๋ฅผ ํต๊ณผํ ๋น๋๋ ๋ฐฐํฌ ์ค๋น ์ํ๋ก ๋ณ๊ฒฝ. Continuous Delivery์์๋ ์๋ ์น์ธ์ ๊ฑฐ์น๊ณ , Continuous Deployment์์๋ ์๋ํ.
- ๋ฐฐํฌ (Deploy): ์ค๋น๋ ์ฝ๋๋ ํ๋ก๋์ ํ๊ฒฝ์ ๋ฐฐํฌ. CI/CD์ ๋ฐ๋ผ ์๋ ๋๋ ์๋์ผ๋ก ๋ฐฐํฌ๊ฐ๋ฅ.
- ๋ชจ๋ํฐ๋ง (Monitor): ๋ฐฐํฌ ํ, ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ์ฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋์ง ํ์ธ.
๐CI/CD ๋๊ตฌ
- Jenkins: ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์คํ์์ค CI/CD ๋๊ตฌ. ํ๋ฌ๊ทธ์ธ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ์ ์ฐํ๊ฒ ์ค์ ๊ฐ๋ฅ
- GitLab CI/CD: GitLab์์ ์ ๊ณตํ๋ CI/CD ๊ธฐ๋ฅ์ผ๋ก, GitLab ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ฐ์ ํ๊ฒ ํตํฉ๋จ.
- CircleCI: ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ CI/CD ๋๊ตฌ๋ก, ๋น ๋ฅธ ์คํ ์๋์ ์ค์ ์ ๊ฐํธํจ.
- Travis CI: GitHub๊ณผ ๊ธด๋ฐํ๊ฒ ํตํฉ๋ CI ๋๊ตฌ๋ก, ๊ฐํธํ ์ค์ ๊ณผ ์ฌ์ฉ๋ฒ์ด ์ฅ์ .
- AWS CodePipeline: AWS ํ๊ฒฝ์ ์ต์ ํ๋ CI/CD ๋๊ตฌ๋ก, AWS ์๋น์ค์์ ํตํฉ์ด ๊ฐ๋ ฅํจ.
- Github Actions: GitHub์์ ์ ๊ณตํ๋ ์๋ํ ์ํฌํ๋ก์ฐ ๋๊ตฌ๋ก, ์ฝ๋ ํธ์, ํ ๋ฆฌํ์คํธ, ์ด์ ์์ฑ ๋ฑ ๋ค์ํ GitHub ์ด๋ฒคํธ์ ๋ํ ์๋ํ๋ฅผ ์ค์ ํ ์ ์์.
๐CI/CD ๊ตฌ์ถ ๋ฐฉ๋ฒ
1. ์ฝ๋ ๋ฆฌํฌ์งํ ๋ฆฌ ์ค์
- Git๊ณผ ๊ฐ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ฌ์ฉํ์ฌ ์ฝ๋ ๋ฆฌํฌ์งํ ๋ฆฌ ์ค์
- ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ํธ๋ฆฌ๊ฑฐ๊ฐ ๋ฐ์ํ์ฌ CI/CD ํ์ดํ๋ผ์ธ์ด ๋์ํ๋๋ก ์ค์
2. ๋น๋ ์๋ํ
- ๋น๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๋ ํ๋ก์ธ์ค ์๋ํ
- CI ๋๊ตฌ์์ ๋น๋ ์คํฌ๋ฆฝํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ ์ ์๋๋ก ์ค์
3. ์๋ํ๋ ํ ์คํธ ์ค์
- ์ ๋ ํ ์คํธ, ํตํฉ ํ ์คํธ, ๊ธฐ๋ฅ ํ ์คํธ ๋ฑ ๋ค์ํ ํ ์คํธ๋ฅผ ์๋์ผ๋ก ์คํํ๋๋ก ์ค์
- ํ ์คํธ ํต๊ณผ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค์ ๋จ๊ณ๋ก ์งํ๋ ์ ์๋๋ก ์ค์
4. ๋ฐฐํฌ ์ค์
- ํ๋ก๋์ ํ๊ฒฝ ๋๋ ์คํ ์ด์ง ํ๊ฒฝ์ ๋ฐฐํฌํ ์ค๋น๊ฐ ์๋ฃ๋๋ฉด, ์๋์ผ๋ก ๋ฐฐํฌํ ์ ์๋๋ก ์ค์
- AWS, Google Cloud, Docker ๋ฑ ๋ค์ํ ํ๋ซํผ๊ณผ์ ํตํฉ์ ๊ณ ๋ คํ ์ ์์.
5. ๋ชจ๋ํฐ๋ง๊ณผ ํผ๋๋ฐฑ ๋ฃจํ
- ๋ฐฐํฌ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ ์ ์๋๋ก ์ค์
- ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ฆ์ ๋์ํ ์ ์๋ ๊ฒฝ๊ณ ์์คํ ๊ตฌ์ถ
5. CI/CD ๊ตฌ์ถ ์ ์ฃผ์ํ ์
- ํ ์คํธ ํ์ง: CI/CD์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์๋ํ๋ ํ ์คํธ์ ํ์ง์ ๋๋ค. ํ ์คํธ๊ฐ ์ ๋๋ก ์ค๊ณ๋์ง ์์ผ๋ฉด, ๋ฌธ์ ๊ฐ ์๋ ์ฝ๋๊ฐ ํ๋ก๋์ ์ ๋ฐฐํฌ๋ ์ ์์.
- ๋ฐฐํฌ ๋น๋: ๋ฐฐํฌ๋ฅผ ๋๋ฌด ์์ฃผ ํ๊ฑฐ๋ ๋๋ฌด ์ ๊ฒ ํ๋ ๊ฒ์ ๋ชจ๋ ๋ฌธ์ ๊ฐ ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ ํ ๋น๋๋ก ๋ฐฐํฌํ๋๋ก ์ ๋ต์ ์๋ฆฝํ๋ ๊ฒ์ด ์ค์
- ๋ณด์: ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ์ ์ถ๋์ง ์๋๋ก ์ฃผ์ํด์ผ ํ๋ฉฐ, ํ์ํ ๊ฒฝ์ฐ ๋ณ๋์ ๋ณด์ ํ ์คํธ๋ฅผ ์ถ๊ฐํด์ผ ํจ.
๊ฒฐ๋ก
CI/CD๋ ์ํํธ์จ์ด ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ์ ์๋๋ฅผ ๋น ๋ฅด๊ฒ ํ๊ณ , ํ์ง์ ๋์ด๋ฉฐ, ์ธ์ ์ค๋ฅ๋ฅผ ์ค์ด๋ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค. ์ง์์ ์ธ ํตํฉ๊ณผ ๋ฐฐํฌ๋ฅผ ํตํด ๊ฐ๋ฐ์๋ค์ ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์ ํ์ ์ ๊ณตํ ์ ์๋ค.
์๋ฌธ์
๋์ปค๋ ๋ญ์ง? …
๋ค์ ๊ธ์์…
์ผ๋จ ์ด๋ก ์ ๋์ถฉ์ด๋๋ง ๊ณต๋ถํ๊ณ ์ค์ต ๊ธ๋ ๋ฐ๋ก ๊ผญ๊ผญ ์ฌ๋ ค์ผ์ง!!
- ์ฐ์ github actions + AWS S3๋ก ๋ค๋ค ๋ง์ด CI/CD ๊ตฌ์ถ์ ์งํํ๋ ๋ฏ ๋ณด์!!