• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

CI/CD 개념에 대하여

동기 220

0

1

Jenkins와 Docker 등 CI/CD Tool만 알고 개념적인 부분에서는 지식이 부족한 거 같아 한번 정리하면서 공부해 보려한다.

 

CI/CD

  • 개발 단계를 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법이다.
  • 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제를 해결하기 위한 좋은 방법이다.

CI (Continuous Integration)

  • 개발자를 위한 자동화 프로세스인 지속적인 통합을 의미한다.
  • 제대로 구현되면 코드의 새로운 변경 사항이 정기적으로 빌드 및 테스트를 거쳐 공유 repository에 병합된다.
  • 여러 개발자가 동시에 코드작업을 해도 충돌을 피할 수 있다.
  • CI의 핵심 목표
    • 버그를 신속하게 찾아 해결
    • 소프트웨어의 품질 개선
    • 새로운 업데이트의 검증 및 릴리즈 시간 단축

CD(Continuous Delivery/Deployment)

  • 지속적인 서비스 제공/지속적인 배포의 의미를 가지고 있으며, 두 의미는 상호교환하며 사용된다.
  • 두 가지 의미 모두 pipeline의 추가단계에 대한 자동화를 뜻한다.
  • Continuous Delivery는 개발자들이 Application에 적용한 변경사항이 버그 테스트를 거쳐 Repository에 자동으로 업로드 되는 것을 뜻하며 운영팀은 저장소에서 Application을 실시간 production 환경으로 배포할 수 있다. → 개발팀과 운영팀의 소통 문제나 가시성 문제 해결의 좋은 대안
  • Contiuous Deployment는 개발자의 변경사항을 Repository에서 고객이 사용 가능한 production 환경까지 자동으로 Release하는 것을 의미한다. → Application 제공 속도를 저해하는 수동 process로 인한 운영팀의 과부화문제를 해결한다.

 

pipeline의 자동화 단계

 

Pipeline

  • 제공된 데이터 또는 코드에 대해 사전 정의된 작업을 수행하는 처리 단계
  • 반복적인 process를 자동화하여 시간을 절약하고 정밀도를 높이는 것이 목적
  • 구성요소
    • 빌드(Build) - Application을 compile하는 단계
    • 테스트(Test) - Code를 test하는 단계
    • 릴리스(Release) - Application을 repository에 제공하는 단계
    • 배포(Deploy) - Code를 production에 배포하는 단계
    • 검증 및 컴플라이언스(Validation & compliance) 

 

CI/CD Tool

  • Jenkins → Ci서버에서 CD 허브까지 모든 것을 처리할 수 있다.
  • Tekton Pipelines → 표준 클라우드 네이티브 CI/CD 경험과 컨테이너를 제공하는 쿠버네티스 플랫폼을 위한 CI/CD 프레임워크
  • GoCD → 모델링 및 시각화에 중점을 둔 CI/CD 서버
  • 위에 설명하지 않은 다양한 Tool이 있다.

 

Reference

 

신고공유스크랩
1

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

주간 조회 수 인기글

주간 추천 수 인기글

분류 제목 글쓴이 날짜 조회 추천
코딩테스트 ㅘ!!!!!! 9 Jasons 23.08.24.15:40 139 +2
코딩테스트 으어... 대회 시작 1시간 하고도 정확히 15분전 2 Jasons 23.08.13.12:45 240 +1
코딩테스트 NYPC 2023 2 Jasons 23.08.09.14:13 172 +1
코딩테스트
image
Jasons 23.08.24.15:40 139 +2
코딩테스트
normal
Jasons 23.08.13.12:45 240 +1
코딩테스트
image
Jasons 23.08.09.14:13 172 +1
Python
normal
mjk 23.08.03.20:22 219 +3
Linux
image
hilee0602 23.04.05.16:34 229 +1
Linux
image
화정큐삼 23.03.19.08:46 299 0
Docker
normal
장작_범댕이 23.02.19.14:21 296 0
정보
image
동기 23.01.16.09:16 220 0
정보
image
달소 23.01.06.14:50 1485 0
정보
image
동기 23.01.04.16:14 205 +2