본문 바로가기

IT/CICD

Github Actions vs GitLab CI/CD

요즘 소프트웨어 개발자라면 CI/CD(지속적 통합/지속적 배포) 없이는 작업이 안 된다고들 하죠.

자동화로 시간 절약하고, 에러를 줄여주는 마법 같은 도구들입니다.

 

오늘은 CI/CD 툴 중에서 GitHub ActionsGitLab CI/CD 두 가지를 비교해보려고 합니다.

뭐, 둘 다 많이 쓰이니까요. 어느 쪽이 더 좋은지는 직접 써봐야 알겠지만, 그래도 일단 한번 살펴보죠!

 

1. GitHub Actions

https://github.com/features/actions

 

Features • GitHub Actions

Easily build, package, release, update, and deploy your project in any language—on GitHub or any external system—without having to run code yourself.

github.com

 

GitHub Actions는 GitHub 유저들에게는 친숙한 이름일 겁니다. "어, 이거 GitHub에서 자동으로 돌아가는 거 아냐?" 맞습니다! GitHub에 있는 프로젝트랑 완전 찰떡궁합이라 설정도 크게 안 건드려도 되고, 기본적으로 깔려 있는 느낌이에요.

  • 장점:
    • GitHub 레포지토리랑 바로 연동돼서 따로 복잡하게 설정 안 해도 됨.
    • YAML 파일 하나로 파이프라인 설정 가능. YAML... 좀 익숙해지면 쓸만해요!
    • 마켓플레이스에 엄청나게 많은 액션들(워크플로우 구성 요소)이 있어서 가져다 쓰면 끝.
    • 그리고 무료. 소규모 프로젝트는 무료 플랜으로 충분히 커버 가능.
  • 단점:
    • GitHub에 의존적이라 GitHub 외부 프로젝트에서는 못 씁니다.
    • 사용량이 많아지면 유료 플랜 써야 할 수도..

2. GitLab CI/CD

https://about.gitlab.com/pricing/feature-comparison/

 

Self-Managed Feature Comparison

On this page you can view information on Self-Managed Feature Comparison for GitLab. View more!

about.gitlab.com

 

GitLab CI/CD는 GitLab의 내장 CI/CD 시스템인데요, GitHub Actions랑 비교하면 좀 더 파워풀하다고 느낄 수도 있습니다. 특히 DevOps 파이프라인 구축에 신경을 많이 쓴 느낌? 약간 종합 선물 세트 같은 느낌이죠.

  • 장점:
    • GitLab에 있는 모든 프로젝트에서 바로 사용 가능.
    • 파이프라인이 엄청 디테일하게 설정 가능해서 복잡한 워크플로우도 OK.
    • Docker 이미지, 쿠버네티스 같은 최신 기술도 잘 지원해줌.
    • 자체 호스팅 가능! 자기 서버에서 돌리고 싶은 분들께는 이거 대박.
  • 단점:
    • 설정이 복잡할 수 있어서 처음 쓸 때 좀 부담될 수 있음.
    • 무료 플랜이 좀 제한적이라 규모가 커지면 유료 플랜이 필요할 수 있음.

결론: 나에게 맞는 툴은?

둘 다 좋은 도구지만, GitHub Actions는 GitHub 사용자에게 최적화된 툴이고, GitLab CI/CD는 좀 더 다양한 설정을 원하거나 독립적인 시스템을 갖추고 싶을 때 유리해요. 만약 내가 GitHub에 있는 프로젝트를 주로 관리하고 있다면 GitHub Actions가 더 직관적이고 편할 거예요. 반면, 좀 더 복잡한 파이프라인을 요구하는 대규모 프로젝트라면 GitLab CI/CD가 적합하겠죠.

 

GitHub는 클라우드 기반이어서 자체 서버(in-house)에 설치해서 쓰는 건 어렵습니다. GitHub 자체 호스팅 솔루션은 따로 제공하지 않거든요. 그래서 회사 내부에서 쓰는 전용 서버에 올려서 사용하고 싶다면 GitHub는 맞지 않아요.

그럴 때 GitLab이 좋은 대안이 됩니다. GitLab은 자체 서버에 설치 가능한 ‘GitLab Self-Managed’ 버전을 제공하거든요. 즉, 사내 네트워크에 설치해서 내부 시스템에서만 사용할 수 있습니다. 이게 바로 in-house 개발 환경에서는 GitLab이 많이 선호되는 이유죠.

 

'IT > CICD' 카테고리의 다른 글

Bitbucket  (0) 2021.09.25