📌 CI/CD란 무엇인가요?

2025. 5. 8. 21:35·기술블로그-Django편

📌 CI/CD란 무엇인가요? 쉽게 설명해드립니다!

CI/CD는 개발자가 코드를 더 빠르고 안정적으로 배포하기 위해 사용하는 핵심 자동화 시스템입니다.


🚀 CI/CD란 무엇인가?

🛠️ CI: Continuous Integration (지속적인 통합)

  • 여러 개발자의 코드를 자주(하루에도 여러 번) 통합
  • 코드를 합치는 즉시 자동 테스트 및 빌드 수행
  • 코드 충돌, 오류, 버그를 미리 발견 가능

💡 비유:

여러 명이 같은 문서를 동시에 편집할 때, 실시간 맞춤법 검사기와 자동 저장 기능이 있는 협업 툴과 비슷합니다.

🚚 CD: Continuous Delivery / Deployment (지속적인 배포 / 전달)

용어 의미 차이점

Delivery 배포 가능한 상태까지 자동화 사용자가 버튼 클릭 필요
Deployment 테스트 완료 후 실제 서버에 자동 배포 완전 자동으로 서버에 반영

💡 비유:

  • Delivery: 택배가 문 앞까지 옴 (직접 열어야 함)
  • Deployment: 택배가 문도 열고 거실까지 자동으로 들어옴

🔁 전체 흐름 요약

1. 개발자가 GitHub에 코드 push
      ↓
2. CI 도구가 자동으로 테스트, 빌드 실행
      ↓
3. 테스트 통과 시 → CD 단계 실행
   - Delivery: 릴리즈 준비 완료
   - Deployment: 실제 서버에 자동 반영

🧩 어떤 도구들이 사용될까요?

목적 대표 도구들

CI/CD 자동화 플랫폼 GitHub Actions, GitLab CI, Jenkins 등
테스트 도구 PyTest, JUnit, Jest 등
빌드 도구 Docker, Webpack, Maven 등
배포 도구 AWS CodeDeploy, Netlify, Vercel 등

✅ CI/CD 도입의 장점은?

항목 효과

🚀 빠른 배포 수동 배포보다 빠르고 정확
🔍 에러 조기 발견 코드 푸시 시마다 테스트 자동 수행
🔁 반복 작업 자동화 테스트/배포 작업을 사람이 직접 하지 않아도 됨
👥 협업 효율 향상 여러 명이 동시에 작업해도 충돌 최소화 가능

📦 예시로 이해하기: 블로그 앱이라면?

  • 코드를 GitHub에 push 하면?
    • GitHub Actions가 자동으로 테스트 & 빌드
    • 문제가 없으면 서버에 자동 반영 (Vercel, AWS, Render 등)

✅ 마무리 요약

구분 설명

CI 자주 코드를 합치고 자동 테스트 수행
CD 배포 가능한 상태 또는 실제 배포까지 자동화
핵심 빠르고 안정적인 코드 전달을 위한 자동화 파이프라인

💡 TIP: Django, Flask 같은 프로젝트에서도 쉽게 CI/CD 도입 가능! 필요 시 설정 예시도 알려드릴게요 :)

'기술블로그-Django편' 카테고리의 다른 글

📌 Django ORM 완전정복: 개념부터 예시, 흐름까지 한 번에 정리!  (0) 2025.05.08
📌 Django DeleteView의 확인 화면 제거 vs JS confirm() 비교 가이드  (0) 2025.05.08
📌 Django에서 누락된 category 필드 일괄 업데이트하기 (default 적용)  (0) 2025.05.08
📌 Django 템플릿과 View에서 권한 분기 처리 완전 정복  (0) 2025.05.08
📌 Django 템플릿에서 FBV / CBV 네임스페이스에 따라 분기 처리하는 방법  (0) 2025.05.08
'기술블로그-Django편' 카테고리의 다른 글
  • 📌 Django ORM 완전정복: 개념부터 예시, 흐름까지 한 번에 정리!
  • 📌 Django DeleteView의 확인 화면 제거 vs JS confirm() 비교 가이드
  • 📌 Django에서 누락된 category 필드 일괄 업데이트하기 (default 적용)
  • 📌 Django 템플릿과 View에서 권한 분기 처리 완전 정복
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Python (32)
      • 프로젝트 (110)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    remittance
    travel ban
    life reflection
    americaparty
    americanlaw
    gpterror
    basalcellcarcinoma
    homebartrend
    college reunions
    classaction
    hotcoffeecase
    livebroadcast
    btsreunion
    btsjungkook
    chatgpterror
    chinanightlife
    bts
    self-growth
    뷔
    btscomeback
    global politics
    trumpmuskclash
    RM
    titaniumcase
    lawsuitculture
    youngprofessionals
    smartphonedurability
    btsdischarge
    newpoliticalparty
    urbantrends
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
📌 CI/CD란 무엇인가요?
상단으로

티스토리툴바