CI/CD 도구의 종류

GwanMtCat·2023년 9월 8일
0

JetBrain에서 조사한 2023년 최고의 CI툴들

내 글 보다는 사실 뉴스를 보는게 더 도움이 될 것 같다.


CI/CD 도구란?

  • 빌드, 테스트, 소프트웨어를 산출하는 과정을 자동화 하기 위한 플랫폼을 말한다.

  • 그럼 도구를 고려하기 위해서 어떤 점들을 고려해야할까? 한번 생각해보았다.

    • 비용을 고려할 수 있다.

      • 오픈소스인가 상용 솔루션인가?
        • 무료 사용이 가능한가?
    • 러닝커브는 어느정도인가?

    • 호스팅은 클라우드에서 동작하는지 아니면 직접 호스팅 하는지?

    • 지원하는 플랫폼에는 무엇이 있는가? 라이브러리는?

  • 가장 많이 사용하는 도구를 3개만 뽑자면 다음과 같다.

    • GitHub Actions
    • Jenkins
    • GitLab CI

GitHub Actions

  • 개인 프로젝트를 위한 가장 인기 있는 도구이다.
  • 깃허브 아무 이벤트로부터 워크 플로우를 만들 수 있다.
  • public 리포지터리에는 무료에는 private 에는 무료가 아니다.
  • 클라우드에서 동작하므로 호스팅 걱정은 할 필요가 없다.
  • 러닝커브는 쉬운편이나 2021년 글 기준으로 문제점이 없는 것은 아니란다.
  • 폭넓은 플랫폼 및 라이브러리를 지원한다.

Jenkins

  • 오픈소스이며 무료이다.
  • 서버를 직접 호스팅 해야 한다.
    • 호스팅을 직접 관리 하므로 관련된 모든 부분이 관리 가능하다.
    • 프로젝트의 규모에 따라 리소스 낭비가 발생할 수 있다.
  • 많은 플러그인을 지원하고, 쉽게 커스터마이징이 가능하다.
  • 대한민국 기준으로는 많은 회사에서 사용하고 있다. (개인 생각)

GitLab CI

  • GItLab 서비스에 내장되어 있다.
  • 온프레미스 방식으로 호스팅하거나 웹으로 사용할 수도 있다.
  • Runner 가 도커 컨테이너 기반이라 도커 친화적이다.
  • 플러그인의 종류가 위의 도구에 비하면 빈약하다.

젠킨스를 선택하였다.

무료라는 점, 또한 직접 호스팅하므로 서버 스케일링을 쉽게 할 수 있는 점, 플러그인을 폭 넓게 지원하는 점에서 젠킨스를 선택하였다. 단 이것은 기업용 애플리케이션을 만들 때 고려할 점이였을 것 같다.

사이드 프로젝트를 하려는 용도라 사실 더 어울리는 것은 Github Action이었으나
취업을 위해서는 젠킨스를 선택하여 공부하는 것이 더 도움이 될 것 같다.

0개의 댓글