Gitlab은 Git의 원격 저장소와 코드 리뷰, 이슈 트래커 기능등을 제공하는 소프트웨어로, 설치형 Github라는 컨셉으로 시작된 프로젝트이기 때문에 Github와 비슷한 면이 많다.
GitLab 패키지는 3가지로 구분된다.
- GitLab CE : Community Edition으로 설치형이고 아무런 제한 없이 무료
- GitLab EE : Enterprise Edition으로 설치형이고 매월 유저당 과금 (참고)
- GitLab.com : 클라우드형이고 개인이 가입해서 사용하면 무료
- Git 저장소 및 관리
- 프로젝트 생성하면 자동으로 git 저장소가 생성됨
- 그룹 및 팀원
- 그룹을 만들고 팀원을 지정해서 그룹 단위로 접근 권한을 관리할 수 있음
- 업무 관리
- 마일스톤을 설정하고 이슈를 등록해서 담당자를 지정해서 업무를 관리할 수 있음
- 코드 커밋 로그에 이슈번호 넣으면 자동으로 이슈와 연결
- 라벨을 사용해서 이슈를 구분해서 관리할 수 있음
- 코드 리뷰
- Merge request를 통해 코드 리뷰를 할 수 있는 프로세스를 만들 수 있음
- 해당 request에 댓글로 커뮤니케이션 할 수 있고 소스코드에도 댓글 달 수 있음
- 위키
- markdown 형식 지원
- wiki 별도 git 저장소가 생성되어 로컬에서 작업해서 push 해도 됨
- 이력 및 통계 조회
- Activity 이력 조회
- Files 브라우징
- Commit 브라우징(커밋 이력, 브랜치로 비쥬얼하게 이력 조회, 그래프로 통계 제공)
- 검색
- 전체 검색: 프로젝트, 이슈, Merge request 검색 가능
- 그룹 내 검색: 프로젝트, 이슈, Merge request 검색 가능
- 프로젝트 내 검색: 코드, 이슈, Merge request, 코멘트, Wiki 검색 가능
- Snippets
- 재사용 가능한 소스 코드나 텍스트를 저장해서 사용하는 기능
- 공통 유틸성 코드나 팁에 대해서 공개해서 사용하면 좋을 것 같다.
- 관리자
- 그룹 및 사용자 관리
- 관리자 페이지에서 사용자 추가, 혹은 회원가입 형태도 되고 LDAP 연동도 가능함
- 오픈 소스: MIT 라이센스로 700명 이상의 개발자들이 참여하고 있는 프로젝트
- 확장성: 서버당 25,000명의 유저 수용 가능, A-A 클러스터 지원
- 비용: 유저수나 프로젝트 수에 관계없이 무료
- 사용성: 다른 무료 솔루션들에 비해서 UI가 괜찮다. 모바일 Web, App으로도 사용 가능
- 운영성: 대부분의 관리는 웹 브라우저로 가능.
- 최신성: 오픈 소스 그룹이 활발히 활동하고 있어서 지속적으로 업데이트 된다.