기록과 정리

Git & GitHub & GitLab 본문

IT/버전관리

Git & GitHub & GitLab

zepetto 2020. 11. 1. 23:40

#gitlab vs github

  1. github 과 gitlab 이란?

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
이라고 공식 홈페이지에 설명 되어있듯 버전 컨트롤을 위한 무료 오픈 소스 입니다.

그럼 github과 gitlab이란 무엇일까요?형상관리를 위해 중앙 서버를 어디에 두었고 또 어떻게 서비스하냐의 차이를 둔 서비스 형태입니다.

 

2. 차이는 무엇일까?

 

기존의 가장 큰 차이는 gitlab은 무료이다 였는데요.

얼마전에 같이 스터디 하시는 분에 의하면 올해 4월부터 github은 private 인원의 제한을 두고 추가적 사용하기위하여 유료로 이용해야 했던 기존 시스템에서 모두 무료로 변경이 되었습니다. 

(해당 자료 -> https://www.44bits.io/ko/post/news--github-announce-new-price-plan )

 

그전에는 public한 소스 , 오픈 소스를 배포하기 위해서 github ( 공유형 ) , private한 소스 또는 상업용을 관리하기위해서는 gitlab ( 상업용 )이 대표적인 개념이였다면 굳이 상업용을 위해 gitlab을 사용하지 않아도 된다는 결론입니다.

 

하지만 gitlab은 github보다 늦게 출시되어(?) 보다 좋은 UI와 CI ( Continuous Integration) 를 가지고 있습니다.

여기서 CI란 ‘개발자가 각각 개발한 소스코드를 모아서 한꺼번에 통합 빌드의 과정을 특정 시점이 아니라 주기적으로 수행함으로써 통합에서 발생하는 오류를 사전에 해결하고 이러한 과정들에 소요되는 시간을 줄이기 위한 기법‘을 말합니다.

예를 들어 ‘젠킨스’와 같은 시스템을 들수 있는데요. 젠킨스는 CI툴의 이름입니다. 빌드와 커밋을 자동화 시켜주어 오류를 최소화 시킬 수 있는 시스템을 말합니다.또한 깃랩은 private 서버를 로컬이나 나스에 설치하여 자신만의 버전관리 서버를 만들 수 있습니다.


개인적으로 docker-compose.yml 을 이용하여 서버를 구축해본적이 있는데요. 고정IP설정 및 dns를 설정하여 어디서든 github처럼 제 로컬에 있는 소스에 접근이 가능합니다. ( 이게 가장 private 한 방법이겠죠 )그리고 결정적으로 현존하는 기업의 시스템은 대부분 깃랩을 따라가고 있는 것으로 알고 있습니다. 아무래도 업무를 위해서 많이 쓰는 방식을 따라가면 좋을 것 같기도 합니다.

 

어떤 방법이 좋고 나쁘다 보다, 차이를 명확히 하고 싶어 글을 정리해보았습니다. 보시고 도움이 되면 좋겠습니다. 감사합니다.