[포스팅큐레이션, 개발이야기#059] 버전관리 야이기 - Github vs Gitlab
안녕하세요 가야태자 @talkit 입니다.
우선 git 클라우드의 양대 산맥을 보면 github와 gitlab이라는 회사가 존재 합니다.
제가 알고 있는 상식은
우선 github는 유료플랜 외에는 공개소프트웨어만 된다. 라는 이야기였는데 요즘은 아닌 것 같습니다. ^^
github, gitlab 모두다 공개/비공개 저장소를 모두 제공하고 있습니다.
제 주변에 기업에서 사용하시는 것을 보면 대기업에서는 github 유료플랜을 많이 사용하시구요.
gitlab은 중소기업에서 많이 사용하시는 것 같습니다. ^^
이건 순전히 제 주변인들의 야이기 입니다.
그리고, 최근에 또 모 카드사 프로젝트에서는 Bitbucket | Git solution for teams using Jira 이야기도 사용을 하고 있었습니다. ^^
저희 회사는 gitlab을 무료 플랜으로 훌륭하게 사용하고 있습니다.
제가 gitab에 저장소를 만들고, 해당 저장소를 프로젝트에 참여하는 다른 분들은 참여 시켜서 같이 공유하고 리뷰하는 형태로 사용하고 있습니다.
이번에 제가 하려고 하는 서브 프로젝트에 github를 사용할지 gitlab을 사용할지를 고민 중입니다.
그래서 chatGPT에게 좀 물어 봤습니다. ^^
GitHub와 GitLab은 Git 기반의 소스 코드 저장소 및 협업 도구입니다. 두 플랫폼 모두 코드 버전 관리, 팀 협업, CI/CD 기능 등을 제공하지만, 목적과 기능, 가격 정책에서 차이가 있습니다. 아래에서 GitHub와 GitLab을 비교해 보겠습니다.
1. 기본 개요
항목 | GitHub | GitLab |
---|---|---|
출시 | 2008년 | 2011년 |
소유 | Microsoft 소유 | GitLab Inc. 소유 |
설치 방식 | 주로 클라우드 기반 | 클라우드와 자체 호스팅(Self-Managed) 지원 |
주요 고객 | 오픈소스 커뮤니티와 소프트웨어 개발자 | 기업과 엔터프라이즈 |
2. 주요 기능 비교
기능 | GitHub | GitLab |
---|---|---|
코드 관리 | 풍부한 Git 도구와 간단한 UI | Git 도구 제공, 고급 UI 및 설정 가능 |
CI/CD 지원 | GitHub Actions으로 CI/CD 지원, 추가 설정 필요 | 내장 CI/CD 파이프라인 제공, 초기 설정 간단 |
이슈 및 프로젝트 관리 | 이슈 트래커 및 프로젝트 보드 제공 | 이슈 보드, 에픽(계층적 이슈 관리), 마일스톤 지원 |
Wiki | 프로젝트별 Wiki 제공 | 프로젝트별 Wiki 제공 |
코드 리뷰 및 병합 | Pull Request(Pull/Merge Request)와 코드 리뷰 기능 | Merge Request와 더불어 강력한 병합 전략 |
보안 도구 | Dependabot으로 의존성 관리 및 보안 취약점 알림 | 내장된 SAST/DAST 및 보안 취약점 스캐너 제공 |
배포 자동화 | GitHub Actions 또는 서드파티 도구 사용 | CI/CD와 함께 Kubernetes 및 클라우드에 손쉬운 배포 |
3. 호스팅 및 배포
항목 | GitHub | GitLab |
---|---|---|
클라우드 호스팅 | 제공 https://github.com | 제공 https://gitlab.com |
자체 호스팅 | 유료로 지원함 | 무료도 있음, 자체 호스팅(Self-Managed) 강력 지원 |
온프레미스 지원 | 제한적 | 온프레미스 배포를 위한 설치 가능 |
4. 오픈소스 및 커뮤니티
항목 | GitHub | GitLab |
---|---|---|
오픈소스 지원 | 주로 오픈소스 프로젝트 호스팅에 사용 | 자체 소스 코드도 오픈소스(License: MIT) |
커뮤니티 | 세계 최대 오픈소스 커뮤니티 | 기업 환경에 특화된 도구와 커뮤니티 |
프로젝트 탐색 | 풍부한 오픈소스 프로젝트 발견 가능 | 공개 프로젝트는 상대적으로 적음 |
5. 사용성
항목 | GitHub | GitLab |
---|---|---|
UI/UX | 직관적이고 간단한 UI | 더 많은 설정 옵션을 제공하는 UI |
초보자 친화도 | 사용이 간편, 빠르게 학습 가능 | 더 많은 설정 옵션으로 약간 복잡할 수 있음 |
6. 가격 비교
항목 | GitHub | GitLab |
---|---|---|
무료 플랜 | 대부분의 기능 제공, 무제한 퍼블릭/프라이빗 리포지토리 지원 | 무료 플랜에서 자체 호스팅과 CI/CD 포함 |
유료 플랜 | 사용자 당 월 $4(Team), $21(Enterprise) | 사용자 당 월 $19(Premium), $99(Ultimate) |
엔터프라이즈 기능 | 엔터프라이즈 플랜에서 고급 기능 제공 | 고급 보안, DevOps, SAST/DAST 포함 |
7. CI/CD 기능
- GitHub: GitHub Actions를 통해 강력한 CI/CD 기능을 지원하며, YML 파일로 워크플로를 정의.
- GitLab: CI/CD가 내장되어 있으며, 간단한
.gitlab-ci.yml
파일로 자동화 파이프라인 설정.
8. 보안 및 DevOps
- GitHub: Dependabot으로 보안 취약점을 자동으로 관리.
- GitLab: SAST/DAST, 컨테이너 스캐닝, 보안 대시보드 등 엔터프라이즈 수준의 보안 제공.
선택 기준
GitHub가 적합한 경우 | GitLab이 적합한 경우 |
---|---|
오픈소스 프로젝트에 중점을 둔 경우 | 엔터프라이즈 수준의 자체 호스팅 및 CI/CD가 필요한 경우 |
간단한 UI와 빠른 시작을 원하는 경우 | DevOps 파이프라인과 보안 기능이 필요한 경우 |
대규모 커뮤니티와 협업이 중요한 경우 | 기업 환경에서 내부 프로젝트 관리가 중요한 경우 |
GitHub와 GitLab은 목적에 따라 선택이 달라질 수 있습니다.
- 오픈소스 프로젝트 → GitHub
- 기업 내부 프로젝트 → GitLab
내 생각
위와 같이 예쁘게 잘 설명해주고 있습니다.
제가 빠뜨린 부분이 있네요.
github는 설치형 프로그램이 없습니다.
이 말이 사실인지 봤는데 아니네요. 유료로 돈을 내야 하지만,
GitHub Enterprise Server 정보 - GitHub Enterprise Server 3.11 Docs
위 문서를 봤을 때 사실이 아니었습니다. T.T
하지만, 유료네요.
하지만, gitlab는 무료 플랜도 있습니다. ^^
하지만, github를 클라우드 버전으로 사용해볼 생각입니다. ^^
gitlab을 주로 사용하였었는데
새로운 도전이 되겠네요 ^^
감사합니다.
Posted through the ECblog app (https://blog.etain.club)
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.