System Engineering/CI, CD

CI/CD #6. Git과 Git 호스팅 서비스에 대한 정리

ZunoXI 2021. 6. 6.



개요

Git을 활용을 위한 Git 호스팅 서비스 정리

Git과 호스팅 서비스

앞선 CI/CD 관련 포스팅들에서 Legacy 방식 혹은 컨테이너환경에서의 Gitlab설치를 다뤘었다. 본 포스팅에서는 Git이 무엇인지, 또 Gitlab과 같은 Git 호스팅 서비스 종류들이 어떻게되고 어떤특징이 있는지 정리하려한다.

 

 

참고문헌

  • Pro Git (프로 Git) 2판

 

1. Git

 

Git은 소스코드 분산버전관리 시스템으로 형상관리 도구라고도 불린다. 일반적으로 버전 관리란 파일의 변화를 시간에 따라 기록하고 추후 특정 시점의 버전을 다시 꺼내올 수 있다는 특징이 있다.

 

 

Git과 유사한 기존의 CVS, Subversion, Perforce, Bazzar 등의 시스템은 각 파일의 변화를 시간순으로 관리하면서 파일들의 집합을 관리한다.

 

Git은 이런식으로 데이터를 저장하지도 취급하지도 않는다. Git은 데이터를 파일 시스템 스냅샷으로 취급하고 그 크기가 아주 작다. 파일이 달라지지 않았으면 Git은 성능을 위해서 파일을 새로 저장하지 않는다. 단지 이전 상태의 파일에 대한 링크만 저장한다.

 

이처럼 Git은 로컬버전 관리인 VCS 도구들과 중앙집중식 버전 관리(CVCS), 분산 버전 관리 시스템들의 장단점이 적절히 섞인 시스템인데, 일반적으로 우리 사용자들은 이러한 Git을 호스팅하는 사이트를 이용하여 리모트 서버 혹은 저장소에서 소스를 저장 및 공유하게 된다.

 

2. Git 호스팅서비스

 

이번 포스팅에서는 Git 호스팅 서비스로 주로 이용되는 Github, Gitlab, bitbucket에 대한 특징(장단점)을 주로 다뤄본다. 또한, 호스팅서비스는 서비스가 변하고 있는 업계라 그 기준 시간이 언제냐에 따라 정책과 특징이 다르다. 해당 포스팅을 작성하는 시점은 2021.03.24 이니 참고하면 좋을 것 같다.

 

 

Github

 

장점

  • git 저장소 호스팅 사이트중 가장 큰 규모의 서비스
  • 업로드 / 다운로드의 속도가 가장빠름
  • private repo 무료 사용(협업자 제한없음)
  • 최근 무료서비스 정책으로 대부분의 기능 이용가능
  • 가장안정적인 서버 제공

 

단점

  • LFS(Large File Storage)의 트래픽 제한이있다.

 

 

Gitlab

 

장점

  • 설치형 서버제공으로 자체 형상관리 서버운영가능 (오픈소스로 시스템 수정가능)

    자체 데이터센터를 보유한 회사에서는 보안, 용량 등의 이유로 gitlab 설치형으로 운영할 수 있기에 이부분이 상당히 혜자스러운 옵션인 것 같다. private repo개념과 달리  admin 권한으로 다양한 설정을 할 수 있고 인터넷 속도 제한이나 소스코드 용량의 압박도 없다. 단, gitlab을 설치하고 관리할 수 있는 엔지니어가 사내에 있어야한다.. 
  • private repo 무료사용(협업자 제한 없음)
  • Devops pipeline 구축에 최적화(GCP를 이용하여 K8S까지 배포가 용이함)

 

단점

  • push/pull의 속도가 느림
  • 가끔 불안정한 서버상태

 

 

Bitbucket

 

 

장점

  • 아틀라시안의 서비스(jira)와 연동편의성이 높다.
  • private repo 무료사용
  • 직관적인 GUI 제공

단점

  • 저장소 참여하는 인원기준으로 과금이 유발됨(5명 이상부터는 과금 부여)

 

 

3. 호스팅서비스 선택

 

참고로 필자는 본 블로그 호스팅을위해 github에서 웹페이지를 호스팅 제공받아 운영하고 있다. 관련내용은 링크를 참고하면 좋을 것 같고, 추가로 github은 약 월 4달러씩 지불하며 Pro 버전을 사용하고 있다.

 

ETC #3. 기술블로그 운영하기 (개발블로그 선택하기)

개요 기술블로그, 혹은 개발블로그 플랫폼 선택하기 기술블로그에 대해 오늘의 포스팅은 기술블로그를 운영하는 것에 대한 내용이며, 과거의 필자처럼 ‘기술 블로그를 해보고 싶은데 어떻게

zunoxi.tistory.com

 

Github무료 버전과 큰 차이는 안나지만 본 블로그를 private repo로 운영하며 호스팅을 할 수 있다는 점이 가장 메리트 있어 나름 거금(?)을 투자중이다. (블로그를 통째로 퍼가는건 싫어서…ㅎ)

 

※ (수정) 2021년 5월 기준, 마크다운으로 포스팅하고 ruby로 edit하는게 너무나 불편한 나머지 다시 티스토리로 이전중...Pro 결제는 당연히 취소했다. (약 3개월 정도만 쓴듯하다)

 

또한, 사내에서는 Gitlab을 이용하여 버전관리를 하고있다. 주 고객사가 이제 막 CICD도입을 검토하고 Pilot을 진행하는 단계인데, 사내 소스코드 버전관리는 그룹망에서만 접근(외부망 오픈 불필요), admin 권한으로 일부기능만 허용 등 보안적인이유와 데이터센터 스토리지를 활용한 무제한 용량확보, 자체 백업 등의 이유로 설치형 Gitlab 사용을 결정했다.

 

이처럼 개인과 조직의 상황을 충분히 고려하여 판단한다면 위 호스팅서비스 중 본인에게 최적의 서비스를 선택할 수 있을것이라 생각한다.

 

 

 

 

 

 

 


해당 포스팅은 다음 블로그로 이전되었습니다 :)

https://zunoxi.github.io/devops/2021/03/24/devops-cicd-Githandle/

 

CI/CD 6. Git과 Git 호스팅 서비스에 대한 정리

개요 Git을 활용을 위한 Git 호스팅 서비스 정리 목차 1. Git 2. Git 호스팅서비스 3. 호스팅서비스 선택 Git과 호스팅 서비스 앞선 CI/CD 관련 포스팅들에서 Legacy 방식 혹은 컨테이너환경에서의 Gitlab설

zunoxi.github.io

 

반응형

댓글