Skip to content

GitLab

Gitlab은 Git의 원격 저장소와 코드 리뷰, 이슈 트래커 기능등을 제공하는 소프트웨어로, 설치형 Github라는 컨셉으로 시작된 프로젝트이기 때문에 Github와 비슷한 면이 많다.

1. 패키지 종류

GitLab 패키지는 3가지로 구분된다.

  • GitLab CE : Community Edition으로 설치형이고 아무런 제한 없이 무료
  • GitLab EE : Enterprise Edition으로 설치형이고 매월 유저당 과금 (참고)
  • GitLab.com : 클라우드형이고 개인이 가입해서 사용하면 무료

2. 기능

  • Git 저장소 및 관리
    • 프로젝트 생성하면 자동으로 git 저장소가 생성됨
  • 그룹 및 팀원
    • 그룹을 만들고 팀원을 지정해서 그룹 단위로 접근 권한을 관리할 수 있음
  • 업무 관리
    • 마일스톤을 설정하고 이슈를 등록해서 담당자를 지정해서 업무를 관리할 수 있음
    • 코드 커밋 로그에 이슈번호 넣으면 자동으로 이슈와 연결
    • 라벨을 사용해서 이슈를 구분해서 관리할 수 있음
  • 코드 리뷰
    • Merge request를 통해 코드 리뷰를 할 수 있는 프로세스를 만들 수 있음
    • 해당 request에 댓글로 커뮤니케이션 할 수 있고 소스코드에도 댓글 달 수 있음
  • 위키
    • markdown 형식 지원
    • wiki 별도 git 저장소가 생성되어 로컬에서 작업해서 push 해도 됨
  • 이력 및 통계 조회
    • Activity 이력 조회
    • Files 브라우징
    • Commit 브라우징(커밋 이력, 브랜치로 비쥬얼하게 이력 조회, 그래프로 통계 제공)
  • 검색
    • 전체 검색: 프로젝트, 이슈, Merge request 검색 가능
    • 그룹 내 검색: 프로젝트, 이슈, Merge request 검색 가능
    • 프로젝트 내 검색: 코드, 이슈, Merge request, 코멘트, Wiki 검색 가능
  • Snippets
    • 재사용 가능한 소스 코드나 텍스트를 저장해서 사용하는 기능
    • 공통 유틸성 코드나 팁에 대해서 공개해서 사용하면 좋을 것 같다.
  • 관리자
    • 그룹 및 사용자 관리
    • 관리자 페이지에서 사용자 추가, 혹은 회원가입 형태도 되고 LDAP 연동도 가능함

3. 그외 특징

  • 오픈 소스: MIT 라이센스로 700명 이상의 개발자들이 참여하고 있는 프로젝트
  • 확장성: 서버당 25,000명의 유저 수용 가능, A-A 클러스터 지원

4. 장점

  • 비용: 유저수나 프로젝트 수에 관계없이 무료
  • 사용성: 다른 무료 솔루션들에 비해서 UI가 괜찮다. 모바일 Web, App으로도 사용 가능
  • 운영성: 대부분의 관리는 웹 브라우저로 가능.
  • 최신성: 오픈 소스 그룹이 활발히 활동하고 있어서 지속적으로 업데이트 된다.