CS | GitLab

성수당·2026년 2월 2일

나혼자 CS

목록 보기
19/24
post-thumbnail

🥔GitLab이란 무엇인가?

  • GitLab은 Git 기반 소스 코드 관리(SCM)를 중심으로
    소프트웨어 개발 전 과정(DevOps 라이프사이클)을 하나의 플랫폼에서 지원하는 도구다.
  • 코드 저장소, 협업 기능, CI/CD, 배포 관리까지 단일 플랫폼에서 제공한다.
  • GitHub와 유사하지만 CI/CD와 DevOps 기능이 기본 내장되어 있다는 점이 가장 큰 특징이다.

🥔GitLab의 핵심 개념

Git 기반 원격 저장소

  • GitLab은 Git을 기반으로 한 원격 저장소다.
  • 코드 버전 관리, 브랜치 전략, 히스토리 추적이 가능하다.
  • GitHub와 Git 사용 방식의 기본 개념은 동일하다.

🥔GitLab의 주요 기능

📁 소스 코드 관리 (SCM)

  • Repository 단위로 프로젝트를 관리한다.
  • Branch와 Merge Request(MR)를 통해 코드 변경을 관리한다.
  • 라인 단위 코드 리뷰와 승인 정책을 지원한다.
  • Maintainer, Developer 등 역할 기반 권한 관리를 제공한다.

👥 협업 도구

  • Merge Request(MR)를 통해 코드 변경 제안, 리뷰, 토론을 한 곳에서 진행한다.
  • 이슈(Issues)를 통해 작업 단위와 버그를 관리한다.
  • 위키(Wiki)를 통해 프로젝트 문서를 관리한다.
  • 코드 변경 이력을 체계적으로 추적한다.

⚙️ CI/CD (GitLab의 핵심 강점)

  • GitLab CI/CD가 기본 내장되어 있다.
  • .gitlab-ci.yml 파일로 파이프라인을 정의한다.
  • 빌드(Build), 테스트(Test), 배포(Deploy) 단계를 자동화한다.
  • 커밋, MR 생성, 특정 브랜치 push 시 파이프라인이 자동 실행된다.

👉 외부 CI 도구 없이 코드 관리부터 배포까지 하나의 흐름으로 관리한다.


🐳 DevOps / DevSecOps 지원

  • Container Registry를 제공한다.
  • Kubernetes 연동을 지원한다.
  • SAST, DAST, Dependency Scan 등 보안 스캔 기능을 제공한다.
  • Infrastructure as Code(IaC) 환경을 지원한다.

🥔GitLab vs GitHub 간단 비교

항목GitLabGitHub
저장소Git 기반Git 기반
CI/CD기본 내장Actions 필요
설치형Self-hosted 가능제한적
DevOps 통합매우 강함상대적으로 약함
UI다소 복잡직관적

🥔GitLab 사용 형태

☁️ GitLab.com (SaaS)

  • GitLab에서 직접 호스팅하는 서비스다.
  • 별도 설치 없이 빠르게 시작할 수 있다.

🏢 Self-Hosted GitLab

  • 사내 서버에 GitLab을 직접 설치해 운영한다.
  • 보안, 권한, 네트워크를 내부 정책에 맞게 제어한다.
  • 대규모 조직이나 보안 요구사항이 높은 환경에서 많이 사용된다.

🥔GitLab에서 자주 쓰는 용어

  • Project는 하나의 저장소 단위다.
  • Group은 여러 프로젝트를 묶고 권한을 관리하는 단위다.
  • Merge Request(MR)는 코드 병합 요청이다.
  • Pipeline은 CI/CD 실행 단위다.
  • Runner는 CI 작업을 실제로 수행하는 머신이다.

🥔GitLab을 언제 쓰면 좋은가?

  • 코드 관리와 CI/CD를 한 번에 사용하고 싶을 때 적합하다.
  • 팀 단위 협업과 코드 리뷰 프로세스가 중요한 경우에 유리하다.
  • 사내 보안 정책으로 인해 Self-hosted 환경이 필요한 경우에 적합하다.
  • DevOps 자동화를 적극적으로 도입하려는 팀에 적합하다.
profile
말하는 감자🥔

0개의 댓글