Dexter Shin

솔루션 아키텍트

Dexter Shin

솔루션 아키텍트

GitLab을 사용하는 이유?3 min read

Jun 11, 2019

단편적으로 보자면,
다른 개발자들과 소셜네트워킹이 필요하면? GitHub
DevOps 전체 툴셋을 구축하기 번거롭지만, CI/CD를 하고 싶으면? GitLab

 

 GitLab을 사용 할 수 밖에 없는 이유를 정리 해보았습니다.

 

공짜 CI/CD 파이프라인

GitLab은 통합된 CI/CD 파이프라인을 강력하게 제공합니다. GitHub을 사용하면 CircleCI같은 외부 CI서비스에 비용을 지불 하고 직접 통합 해야 합니다.

 

공짜 컨테이너 레지스트리

모든 것을 Dockerize 를 하려고 시도하신다면, GitLab에서 각각 레파지토리 별로 컨테이너 레지스트리를 포함하고 있습니다. 별도로 구성 하지 않아도 됩니다.

 

간단한 Kubernetes 통합 

Kubernetes가 인프라관리를 단순화 하는 방법을 제공 합니다. GitLab이 Kubernetes와 통합 된다고 발표 했을 때, 워크플로우를 간단히 만들고 사용 할수 있다는 생각에 저만 흥분한 것은 아니겠죠?

 

Review App 으로 QA

 모든 커밋들에대해 자체적으로 Review App기능을 통해 배포 합니다. Feature 브랜치를 Master/Develop 브랜치로 머지 하기 전에 실제 작동을 확인해서 품질보증 활동을 할 수 있습니다. QA 워크플로우에 엄청난 개선을 이룰 수 있습니다.  우리는 이 과정을 통해 QA팀을 개발팀과 가깝게 만들고 협업을 훨씬 효율적으로 수행할 수 있게 합니다.

 

GitHub 보다 나은 프로젝트 관리

GitHub은 일부 프로젝트 관리 도구를 제공하지만,  GitLab의 기능이 훨씬 더 광범위하게 제공됩니다.  그 예로 번다운 차트,  그룹 마일스톤 관리이슈 마감일프로젝트 간 이슈 이동CSV로 이슈 내보내기 등이 있습니다.

 

모니터링을 한곳에서 

GitLab은 서버와 애플리케이션 모두에 대한 성능 매트릭을 쉽게 수집할 수 있습니다. GitLab 화면을 벗어너지 않고, 특정 브랜치를 병합하고 프로덕션 환경을 모니터링 하여 영향받는 부분을 신속하게 파악 할 수 있습니다.

 

Quick Action으로 이슈 활용

퀵 액션 (Quick Action)기능은 개발자에게 쉽게 이슈를 관리 하게 해주서 자주 사용 하게 합니다.

 

 

온라인 리뷰와 인라인 커멘트 

GitLab으로 머지 요청 (MR)을 리뷰 활동에 해결 마크를 이용 하는 (discussion resolution) 기능은 효과적인 리뷰를 하게 합니다. 코드 리뷰 피드백으로 처리 되었는지 아직 리뷰 해야할것이 남았는지를 직관적으로 확인 할 수 있도록 합니다.

 

그래서 정답은?

 

Git을 사용하고, 프라이빗 레포가 필요하고, 온프레로 설치 할 수 있고, 공짜로 쓸 편리한 기능을 내장 하고 있고, 한달에 한번씩 메이저 기능들이 업데이트 되고, 무중단으로 업그레이드 할 수 있고, 개발팀은 Git위에 코드 중심으로 협업하고, 배포/운영 팀은 K8S 클러스터 몇개만 만들어 주면 되는.. 뭐 그런 편리한 모던 제품/서비스 개발 그룹/팀을 위한 도구. GitLab이 적합 해 보시지 않으세요?

  

하지만, 아직까지 gitlab.com 은 완벽하지 않습니다.   부족함은 온프레로 설치하여 GitLab을 실행해서 백업/복구 직접 관리 하시면 됩니다.