CI Tool 비교

CI 툴 선정에 앞서…

최근 사내에서 CI 와 CD 툴을 도입하기로 하고 사전 조사를 하였다.
그래서 회사에 개발자 회의 때 공유한 내용을 블로그에 포스팅 해둔다.

Travis CI

장점

  • 다양한 레퍼런스가 많고, 오픈소스 등에서 많이 사용하는 보편적인 CI 도구이다.
  • 다양한 언어를 지원하며, Github와 연동이 편리하다.
  • 트래비스 자체에서 호스팅을 해주기 때문에 관리 측면에서 편리하다.

단점

  • 젠킨스에 비해 자유도가 낮고, 기능이 아직은 부족하다. (젠킨스의 플러그인과 같이 다양하지 않다.)
  • 월 비용이 만만치 않다. (기본 월 69$, 보통 일반적으로 사용하는 것은 월 129$)

Jenkins(젠킨스)

장점

  • 오픈 소스이며, 무료이다.
  • 지원하는 기능이 풍부하고, 다양하다. (알림의 종류, 다양한 IDE 지원, 커스터마이즈 등이 다양하다.)
  • 많은 회사에서 주로 사용하는 도구이다.

단점

  • 트래비스와는 달리 설치형이라서 젠킨스 자체를 관리하는 것도 하나의 일이 될 수 있다.
  • AWS에 독립적인 전용 EC2 가 있어야 한다. (t2.medium 이상을 권장한다.)

TeamCity

장점

  • 깔끔한 UI 제공를 제공한다.
  • 다양한 설치 방법(AWS, Docker, Installer)을 제공한다.
  • 100개 빌드 구성 이하는 경우 무료로 사용이 가능하다.
  • Jetbrain IDE와 연동이 잘 되어 있다. (IntelliJ, Pycharm, WebStorm 등)

단점

  • 젠킨스와 마찬가지로 설치형이라서 관리 포인트가 발생한다.
  • 아직은 레퍼런스가 부족하다.
  • 100개의 빌드 구성이 넘어가면 유료로 전환해야 하며, 가격이 대체적으로 비싸다.
  • AWS에 독립적인 전용 EC2 가 있어야 한다. (t2.medium 이상 권장)

결론은?

음..이것저것 찾아봤지만 결국 회사에서 젠킨스를 쓰기로 하였다.
사실 트래비스의 경우 고려를 해봤지만 가격이 생각보다 높아서 넘기게 되었다.
TeamCity의 경우 설치하여 이것저것 해봤지만 레퍼런스가 부족하고, 약간의 러닝커브가 있어보였다.
그래서 젠킨스를 선택하게 되었다.
곧 젠킨스 설치에 대한 포스팅을 진행할 예정이다.