본문 바로가기
카테고리 없음

CI/CD 개념 및 툴 비교

by cook_code 2023. 6. 21.
반응형

지난번에는 CI/CD 개념에 대해 포스팅했었는데요.

오늘은 좀 더 세부적인 내용을 포스팅하려고 합니다. 

CI와 CD는 무엇인지, CI/CD 툴에는 어떤 것들이 있는지에 대한 내용을 담았습니다. 

 

CI란? (Continuous Integration)

 

CI는 Continuous Integration 즉, 지속적인 통합이라는 의미입니다.

지속적인 통합이란,

어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어

공유 레포지토리에 통합하는 것을 의미합니다. 

 

CD란? 

 

CD는 Continuous Delivery 혹은 Continuous Depolyment 두 용어 모두의 축약어 입니다.

해석하자면, 지속적인 서비스 제공 혹은 지속적인 배포 라는 의미죠.

Continuous Delivery는 공유 레포지토리로 자동으로 Release 하는 것,

Continuous Deployment는 Production 레벨까지 자동으로 deploy 하는 것을 의미합니다.

정리하자면, CI가 새로운 소스코드의 빌드, 테스트, 병합까지를 의미하였는데,

CD는 개발자의 변경 사항이 레포지토리를 넘어, 고객의 프로덕션(Production) 환경까지 릴리즈 되는 것을 의미합니다.

 

CI/CD란 무엇인가 (Feat. DevOps 엔지니어)

안녕하세요. 개발자의 용어를 쉽고 명확하게 설명해드리는 개발자 김모씨입니다. CI/CD ?! 개발자로 밥먹고 사시는 분들이시라면, 혹은 IT서비스 업계에 종사하시는 분들이라면, 한 번 쯤은 들어

artist-developer.tistory.com

 

CI/CD 과정 이미지

 

여러 개발자가 코드를 짜면 CI 파이프라인을 통해 여러 브랜치에서 작업된 소스파일들의 지속적인 통합이 이루어집니다.

통합된 소스파일은 CD 파이프라인을 통해 자동으로 공유 레포지토리와 프로덕션 환경에 자동으로 배포됩니다.

그리고 이러한 과정이 끝없이 반복되는 구조이기 때문에 다음과 같은 무한 루프 이미지로 많이 설명하곤 합니다. 

 

 

그렇다면 CI/CD의 대표적인 툴들에는 어떤 것들이 있을까요?

대표적인 툴 몇 가지와 해당 툴의 특징에 대해 공부해보았습니다. 

 

CI 툴 종류 및 특징

 

대표적인 CI 툴 4가지를 비교해보았습니다. 

SLACK / JANDI / JIRE / MICROSOFT TEAMS

TOOL (PRICE) SLACK ($7) JANDI ($12) JIRA MICROSOFT TEAMS
GIT GIT 연동가능  GIT 연동가능 GIT 연동가능 (무료) GIT 연동 가능(무료)
JENKINS Jenkins 연동가능 Jenkins 직접 연동 불가능 Jenkins 연동가능 Jenkins 연동가능
STRENGTH 레퍼런스가 많음 모바일에 최적화 자동화 기능 azure와 활용 시 강점 
USE 스타트업 및
현업에서 많이 사용
다양한 플랫폼과
연계지원
규모가 큰 기업에서
사용
최근 많은 기업에서
사용

 

원격 리포지토리 툴 종류 및 특징

 

대표적인 원격 리포지토리 툴 3가지를 비교해보았습니다.

GITHUB / GITLAB / BITBUCKET

TOOL GITHUB  GITLAB  BITBUCKET
공개 리포지토리 무료 무료 무료
비공개 리포지토리 유료 무료 무료 (5명까지)
DEVOPS TOOLS 별도 플러그인 필요 CI (유료) JIRA 연동 가능
서버 설치  유료 무료 유료
사용자 권한 기본 세분화 -
성능 빠름 느림  보통
호환성 GIT, SVN, TFS, HG GITHUB, BITBUCKET, 구글코드 GIT, SVN, 구글코드, 코드플렉스, HG

 

CD 툴 종류 및 특징

 

이렇게 CI/CD의 개념과 툴에 대한 설명을 작성해보았습니다. 

CI/CD 툴 선택에 도움이 되었으면 좋겠습니다. 긴 글 읽어주셔서 감사합니다.

반응형