CI/CD 용어

CI(Continuous Integration): 지속적인 통합으로 빌드 및 테스트 과정을 자동화하는 것.

CD(Continuous Deployment): 지속적인 배포로 배포의 과정을 자동화하는 것.

CI/CD Tool 들을 비교해보면

  Jenkins CircleCI TeamCity Bamboo GitLab
Open Source O X X X X
Price Free $39/month $299/one-off payment $10/one-off payment $4/month
Supported OS Windows, Linux, MacOS, Unix-like OS Linux, MacOS Windows, Linux, MacOS, Solaris, FreeBSD Windows, Linux, MacOS, Solaris Linux distributions:Ubuntu, Debian, CentOS, Oracle Linux
Hosting On premise &Cloud On premise &Cloud On premise On premise & Bitbucket as Cloud On premise &Cloud
Integrations
And
Plugins
Limit 1800+ Plugins 150 Integration 400+ Plugins 185+ plugins Jira
Supported Git Repos Any Git repository GitHub, GitLab, BitBucket GitHub, GitLab, BitBucket Any Git repository Any Git repository

각 툴들의 장단점

Jenkins

장점

-오픈소스

-인기있는 클라우드 플랫폼과 통합

-병렬로 작업 수행

단점

-많은 Plugin으로 인한 세팅이 복잡

-AWS EC2를 사용하면 젠킨스만을 위한 인스턴스 필요

-호스팅을 위한 서버 관리 비용이 든다.

 

TeamCity

장점

-병렬 빌드로 다른 빌드와 동시에 빌드를 실행 가능

-Docker, Visual Studio Team Services, Maven, NuGet 등과 통합

-실행 기록, 테스트 진행 상황을 즉석에서 확인하고 즐겨찾기 빌드를 추가 가능

단점

-pluginJenkinds에 비해 적다

-일정 규모이상에서 유료 플랜이 필요하다

 

CircleCI

장점

-CI/CD 파이프라인을 워크플로로 제공

-재사용 가능한 코드 조각인 CircleCI Orbs로 반복적인 프로세서 자동화

단점

-빌드를 한번에 하나씩 밖에 지원하지 못함

 

Bamboo

장점

-자체 호스팅 및 클라우드 기반 변형으로 제공된다.

-Atlassian 제품과 완벽한 통합을 제공하여 Bitrbucket, Jira 을 통합 지원

-CLI 컴포넌트로 Git, Maven, Docker 등이 필요하다.

단점

-비용이 비싸다

-project, plan, stage, take의 개념이 복잡해서 제대로 쓰기에 시간이 걸림

 

GitLab

장점

-Community 버전으로 설치 시 개인 서버를 무료로 이용가능

-클라우드 버전 관리 시스템은 10명 이하의 프로젝트는 무료로 이용가능

-Git 원격 저장소 제공한다

단점

-plugin의 종류수가 적다

-모든 job에 대해 artifact를 정의 및 업로드,다운로드 해야함

+ Recent posts