[Docker + CI/CD] CI/CD

콩퓨터·2025λ…„ 1μ›” 20일

CI/CD

λͺ©λ‘ 보기
1/10

πŸ€” CI/CDλž€ λ¬΄μ—‡μΌκΉŒ ?

Continuous Integration / Continuous Deployment(Deliver) 의 μ•½μžλ‘œ, 지속적인 톡합과 지속전인 μ œκ³΅μ„ μ˜λ―Έν•œλ‹€.

β˜‘οΈ κ°œλ…

  • 지속적인 톡합(Continuous Integration) : μ½”λ“œμ˜ 지속적인 톡합
    - μžλ™ν™”λœ λΉŒλ“œμ™€ μžλ™ν™”λœ ν…ŒμŠ€νŠΈλ₯Ό 제곡
    • μ•ˆμ •μ μΈ μ½”λ“œλ₯Ό λΉ λ₯΄κ²Œ μ œκ³΅ν•  수 μžˆλŠ” 밑거름
  • 지속적인 μ„œλΉ„μŠ€ 제곡(Continuous Delivery)
  • 지속적인 배포(Continuous Deployment)
    - 배포λ₯Ό μžλ™ν™”ν•˜μ—¬ 배포 μ‹œκ°„μ„ 단좕
    • μ½”λ“œ 결과물을 λΉ λ₯΄κ²Œ μ§€μ†μ μœΌλ‘œ 제곡

β˜‘οΈ 단계

1️⃣ μ½”λ“œ μž‘μ„± : κ°œλ°œμžλ“€μ€ μ†ŒμŠ€ μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  μ €μž₯μ†Œ(repository)에 μ—…λ‘œλ“œ.
2️⃣ λΉŒλ“œ : μ €μž₯μ†Œμ—μ„œ μ΅œμ‹  μ†ŒμŠ€ μ½”λ“œλ₯Ό 가져와 λΉŒλ“œ μˆ˜ν–‰.
- λΉŒλ“œλŠ” μ†ŒμŠ€μ½”λ“œλ₯Ό μ»΄νŒŒμΌν•˜κ³ , 라이브러리λ₯Ό μΆ”κ°€ν•˜κ³ , ν•„μš”ν•œ νŒŒμΌμ„ 생성 ν•˜λŠ” κ³Όμ •.
3️⃣ ν…ŒμŠ€νŠΈ : λΉŒλ“œλœ 결과물을 λŒ€μƒμœΌλ‘œ ν…ŒμŠ€νŠΈ μˆ˜ν–‰.
- ν…ŒμŠ€νŠΈλŠ” κΈ°λŠ₯이 μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜λŠ”μ§€ ν™•μΈν•˜κ³ , 버그λ₯Ό λ°œκ²½ν•˜κ³  μˆ˜μ •ν•˜λŠ” κ³Όμ •.
4️⃣ 배포 : ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•œ 결과물을 배포.
- λ°°ν¬λŠ” μ„œλ²„μ— μ—…λ‘œλ“œν•˜κ±°λ‚˜, μ‚¬μš©μžμ—κ²Œ μ œκ³΅ν•˜λŠ” κ³Όμ •.

과거의 λ°°ν¬λŠ” μ–΄λ• μ„κΉŒ ?
μ†Œν”„νŠΈμ›¨μ–΄ 개발주기(SDLC, Software Devlopment Life Cycle) 쀑 폭포수 개발 방식
-였랜 μ‹œκ°„ λ™μ•ˆ κ΅¬ν˜„ν•˜κ³  ν…ŒμŠ€νŠΈν•˜μ—¬ 가끔 배포
-이 κ³Όμ •μ—μ„œ ν•œ λŒ€μ˜ μ„œλ²„μ— λ°°ν¬ν•˜κΈ° μœ„ν•΄ νŠΉμ • λ™μΌν•œ κ³Όμ •μœΌλ‘œ n개 μ„œλ²„μ— λ°˜λ³΅ν–ˆλ‹€.
❓ μΆœμ‹œ 직후 μ§„ν–‰λœ ν”„λ‘œλ•μ…˜ ν…ŒμŠ€νŠΈμ—μ„œ 아무도 λ°œκ²½ν•˜μ§€ λͺ»ν•œ 버그가 μžˆλŠ”κ²½μš°μ—λŠ” μ–΄λ–»κ²Œ ν•΄μ•Ό ν• κΉŒ
-λ˜λŒλ¦¬κ±°λ‚˜(λ‘€λ°±) λΉ λ₯΄κ²Œ μˆ˜μ •ν•˜κ³  ν…ŒμŠ€νŠΈν•˜μ—¬ λ‹€μ‹œ μΆ”κ°€ λ°°ν¬ν•˜κ±°λ‚˜ ν•˜λŠ” 큰 λΉ„μš© λ°œμƒ

βœ… ν˜„λŒ€μ μΈ 개발 κ³Όμ •

슀크럼으둜 λŒ€ν‘œλ˜λŠ” μ• μžμΌ 개발

  • νŠΉμ • μ£ΌκΈ°λ§ˆλ‹€ 개발, ν…ŒμŠ€νŠΈ 및 ν”„λ‘œλ•μ…˜μ— ν†΅ν•©λœ κΈ°λŠ₯을 μΆœμ‹œ

πŸ€” 이 μƒν™©μ—μ„œ ν…ŒμŠ€νŠΈ 및 κΈ°λŠ₯ μΆœμ‹œμ— 였랜 κΈ°λŠ₯이 걸리고 손배포 λ₯Ό 톡해 μ‹€νŒ¨ μœ„ν—˜μ„±μ„ μ•ˆκ³  μžˆλ‹€λ©΄ ?

  • 🀯 λΉ λ₯΄κ²Œ λ°°ν¬ν•˜λŠ” 것이 사싀상 λΆˆκ°€λŠ₯ !!
  • Docker λ₯Ό 톡해 μ„œλ²„λ₯Ό ν‘œμ€€ν™”ν•˜κ³  같은 ν™˜κ²½μ—μ„œ ν…ŒμŠ€νŠΈ 및 배포 ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•˜κ³  이 과정을 μžλ™ν™”
    - ν…ŒμŠ€νŠΈλ‘œ κ²€μ¦λœ μžλ™ν™” 배포λ₯Ό μ‚¬μš©ν•˜μ—¬ μ‹€νŒ¨ ν™•λ₯  μ €ν•˜ ⬇️
    - μžλ™ν™”λœ κ³Όμ •μœΌλ‘œ μ§€μ†μ μœΌλ‘œ μ½”λ“œλ₯Ό ν†΅ν•©ν•˜μ—¬ μ§€μ†μ μœΌλ‘œ μžλ™ 배포
  • μ»¨ν…Œμ΄λ„ˆμ™€ λΉŒλ“œ/ν…ŒμŠ€νŠΈ λ„κ΅¬μ˜ λ°œμ „μ— 따라 Dockerκ°€ ν…ŒμŠ€νŠΈ 뿐만 μ•„λ‹ˆλΌ μ‹€μ œ 배포도 λ‹΄λ‹Ή

--

좜처 : Application Deployment using Kubernetes and Docker
Docker Image/Container
Docker Container LifeCycle
[TeamSparta]

profile
πŸ”₯πŸ’»πŸ”₯

0개의 λŒ“κΈ€