๐ค SDLC
์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ๋ก, [๊ณํ, ์ ์, ๋์์ธ, ๋น๋, ํ ์คํธ, ๋ฐฐํฌ]๋ฅผ ๋ฐ๋ณตํ๋๊ฒ!
๐ค CI/CD
์ฌ์ฉ์์๊ฒ ๋ฐฐํฌํ๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ ํ๋ก ํธ, ๋ฐฑ์ค๋์๊ฒ ์ง์์ ์ผ๋ก ์ ๋ฌํ๋ ๊ฒ ์์ฒด๊ฐ CI/CD ๋ชฉํ์ด๋ค.
CI : Continuous Integration | ๊ฐ๋ฐ์๋ค์ ์ฝ๋๋ฅผ ์์ ๋จ์๋ค๋ก ์ง์์ ์ธ ํตํฉ(merge)
CD : Continous Delivery or Deployment | ๋น๋, ํ ์คํธ, ๋ฐฐํฌ๊น์ง ์๋์ผ๋ก ์งํํ๋ ๊ฒ
๐ค CI/CD ๋ํ ๋๊ตฌ 2๊ฐ์ง
1. Jenkins
Java Runtime ์์ ๋์ํ๋ ๋น๋, ํ ์คํธ, ๋ฐฐํฌ ๋ฑ์ ์๋ํํ๋ ์๋ฒ๋ก ๋ค์ํ ํ๋ฌ๊ทธ์ธ ์ ๊ณต
Groovy๋ฌธ๋ฒ์ ์ฌ์ฉํ์ฌ ์ง์ ์ฅ๋ฒฝ์ด ๋์
2. GitLab CI/CD
GitLab์ .gitlab-ci.yml ํ์ผ๋ก ํ์ดํ๋ผ์ธ ์ ์ํจ
3. Jenkins, GitLab CI/CD ์ฐจ์ด
GitLab CI/CD | Jenkins | |
์ค์น | GitLab์ ์ค์นํ๋ฉด ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅ | ์ค์น๊ฐ ๋ณต์กํ๊ณ ํ์ํ ํ๋ฌ๊ทธ์ธ์ ์ฐพ๋๋ฐ ์ค๋๊ฑธ๋ฆฌ |
UI/UX | Yaml๊ณผ GitLab CI/CD๋ฌธ๋ฒ | ๊ฐ๋จํ ํ์ดํ๋ผ์ธ GUI ์ฌ์ฉ ๊ฐ๋ฅ, Groovy, Jenkins ๋ฌธ๋ฒ์ด ์ด๋ ค์ |
ํ์ฅ์ฑ | Docker ๋ฌ๋๋ก ๊ธฐ๋ฅ๋ค ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅ | ๋ฐฉ๋ํ ํ๋ฌ๊ทธ์ธ์ผ๋ก ๋ค์ํ ํ๊ฒฝ, ๋๊ตฌ์ ํตํฉ ๊ฐ๋ฅ |
๐ค ์ปจํ ์ด๋
์๋ฒ(์ํํธ์จ์ด+ํ๋์จ์ด)๋ฅผ VM๋ณด๋ค ๋น ๋ฅด๊ฒ ์์ฑํ๋ ๊ฒ
- VM๊ณผ ์ปจํ ์ด๋์ ์ฐจ์ด
ํน์ฑ | VM | ์ปจํ ์ด๋ |
๊ตฌ์ฑ์์ | Hypervisor, VM ๋ด ์ด์์ฒด์ (GuesetOS) | docker, kubernetes, ํธ์คํธ ์ด์์ฒด์ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ |
์ด์์ฒด์ | Linux, Windows ๋ฑ ์ฌ๋ฌ ์ด์์ฒด์ ์คํ ๊ฐ๋ฅ | ๋ฆฌ๋ ์ค ์ปค๋ ๊ณต์ , ๋ณดํต OpenJDK ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ |
์ฅ์ | ๋ ๊ฐ๋ ฅํ๊ณ ๋ค์ํ ์ด์์ฒด | ๊ฐ๋ฐํ๊ฒฝ ๊ฑฑ์ ์์ด ๋ฐฐํฌ ๊ฐ๋ฅ |
๐ค ๋์ปค
์๋ฒ์์ ์คํ๋๋ ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ
๐ค ์ฟ ๋ฒ๋คํฐ์ค
์ฌ๋ฌ ๊ฐ์ ์๋ฒ ํ๊ฒฝ์ ์๋ ๋์ปค๋ค์๊ฒ ์ง์ํ๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ
'CS๊ณต๋ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
IT ์ธํ๋ผ (0) | 2024.11.25 |
---|---|
CS ์์ํ๊ธฐ (2) | 2024.09.08 |