Git 호스팅을 넘어 CI/CD까지 통합한 DevOps 올인원 플랫폼으로서 GitLab의 개념과 GitHub과의 차이를 이해한다.
GitLab이란?
GitLab은 Git 저장소 호스팅에서 출발해 코드 리뷰, 이슈 추적, CI/CD, 보안 검사, 배포까지 소프트웨어 개발의 전 과정을 하나의 도구로 묶은 DevOps 플랫폼입니다. 이 강좌는 Git 명령 자체는 안다고 가정하고, GitLab이라는 플랫폼과 그 핵심 기능에 집중합니다.
학습 목표
- GitLab이 단순한 Git 호스팅을 넘어 무엇을 제공하는지 이해한다.
- SaaS(gitlab.com)와 self-hosted(자체 호스팅)의 차이를 구분한다.
- GitHub과 GitLab의 관계와 가장 큰 차이(통합 CI/CD)를 안다.
Git 호스팅을 넘어선 DevOps 플랫폼
GitLab의 핵심 발상은 "하나의 애플리케이션으로 전체 개발 수명주기를 다룬다"는 것입니다. 기획부터 운영까지 흐름을 끊김 없이 연결합니다.
- 소스 관리: Git 저장소 호스팅, Merge Request 기반 코드 리뷰
- 이슈 관리: 이슈, 라벨, 보드(칸반), 마일스톤
- CI/CD:
.gitlab-ci.yml하나로 빌드·테스트·배포 파이프라인 정의 - 보안: 의존성 스캔, SAST 같은 검사 통합
- 운영: 컨테이너 레지스트리, 패키지 레지스트리, 배포 환경 관리
여러 도구(예: Git 호스팅 + 별도 CI 서비스 + 별도 이슈 트래커)를 조합하지 않고, 한 곳에서 권한과 데이터를 일관되게 다룰 수 있다는 점이 특징입니다.
SaaS vs Self-hosted
GitLab은 사용 형태가 크게 두 가지입니다.
- SaaS (gitlab.com): GitLab이 직접 운영하는 클라우드 서비스입니다. 가입만 하면 바로 사용할 수 있고 인프라 관리가 필요 없습니다.
- Self-hosted: 회사나 개인이 자체 서버(온프레미스 또는 자체 클라우드)에 GitLab을 설치해 운영합니다. 데이터 위치와 정책을 완전히 통제할 수 있어 보안·규제가 엄격한 조직이 선호합니다.
자체 호스팅용 배포판은 무료로 쓸 수 있는 Community Edition(CE)과, 추가 기능을 제공하는 Enterprise Edition(EE)으로 나뉩니다. gitlab.com의 SaaS도 Free, Premium, Ultimate 같은 요금제 단계가 있습니다.
GitHub과의 관계와 가장 큰 차이
GitHub과 GitLab은 둘 다 Git 기반 협업 플랫폼이라 개념이 많이 겹칩니다. 둘 다 원격 저장소, 코드 리뷰, 이슈, 자동화를 제공합니다.
가장 두드러진 차이는 CI/CD의 통합 정도입니다.
- GitLab은 처음부터 CI/CD를 핵심 기능으로 내장했습니다. 저장소 루트에
.gitlab-ci.yml파일만 두면 파이프라인이 동작합니다. - GitHub도 GitHub Actions로 강력한 CI/CD를 제공하지만, 역사적으로 CI는 외부 서비스(예: 별도 CI 도구)와 결합해 쓰는 흐름이 흔했습니다.
용어도 조금 다릅니다. 대표적으로 GitHub의 Pull Request(PR)는 GitLab에서 Merge Request(MR)라고 부릅니다. 이 강좌에서는 GitLab 용어를 정확히 사용합니다.
요약
GitLab은 Git 호스팅을 기반으로 코드 리뷰, 이슈, CI/CD, 배포까지 통합한 DevOps 올인원 플랫폼입니다. gitlab.com SaaS로 바로 쓰거나 자체 서버에 설치해 운영할 수 있으며, GitHub과 가장 크게 다른 점은 처음부터 깊게 통합된 CI/CD입니다. 다음 강의부터 실제로 프로젝트를 만들고 MR과 파이프라인을 다뤄 봅니다.
댓글 0
“GitLab” 강좌에 대한 댓글입니다.