InfoGrab
InfoGrab

돌아온 GitLab vs GitHub, GitLab과 GitHub을 비교해보자(decision Kit)

돌아온 GitLab vs GitHub, GitLab과 GitHub을 비교해보자(decision Kit)

·9 min read
돌아온 GitLab vs GitHub, GitLab과 GitHub을 비교해보자(decision Kit)

오랜만에 돌아온 GitLab과 GitHub 비교하기 시리즈입니다. 이번에 소개할 내용은 GitLab과 GitHub을 선택하는 기준이 될 Decision Kit입니다.

GitHub Overview

GitLab과 GitHub을 비교하기에 앞서, GitHub에 대해서 살펴보도록 하겠습니다.

GitHub은 프로젝트를 관리하고, 코드를 리뷰하고, 이를 통하여 협업하는 코드 레파지토리(code repository)입니다. Git을 기본으로 하는 분산 버전 관리 및 소스 코드 관리(SCM) 기능을 제공할 뿐만 아니라 자체적인 기능들을 제공하고 있습니다. 모든 프로젝트에 대한 제어 및 버그 추적, 기능 요청, 작업 관리 및 wiki와 같은 협업을 위한 여러 기능을 제공합니다.

2019년 11월, GitHub은 모든 사용자에게 GitHub Action의 기능을 사용할 수 있도록 했습니다. GitHub Action을 사용하면 다양한 GitHub API 호출을 통해 컨테이너에서 코드 스니펫(code snppets)을 할 수 있습니다. 이를 통해 사용자는 모든 이벤트를 기반으로 워크플로우를 조정(orchestrate)할 수 있습니다. GitHub Action을 사용하면 워크플로우와 모든 단계를 코드로 작성하여, GitHub에서 CI/CD를 구축하고, 빌드, 테스트 및 배포를 더 쉽게 자동화 할 수 있습니다.

GitLab도 마찬가지로, CI/CD를 통합하는 기능뿐만이 아니라 어플리케이션 성능 및 서버 모니터링과 같은 추가 기능들을 제공합니다. 또한, GitLab은 SAST, DAST, 컨테이너 스캐닝과 같은 기능을 포함하고 있습니다. GitHub은 배포를 위한 플랫폼을 포함하지 않기 때문에 Heroku와 같은 추가적인 어플리케이션의 도입을 고려해야 합니다. GitLab은 쿠버네티스를 활용하여 단일 어플리케이션의 원활한 배포 환경을 만들 수 있습니다.

GitHub Action 중심의 워크플로우 파일(yaml 파일)은 하나 이상의 이벤트에 의해 트리거됩니다. 각 워크플로우 파일에는 다음 내용이 포함됩니다.

  • 워크플로우 파일이 실행되어야 하는 시점을 결정하는 이벤트(push, Pull Request, manual action)
  • Job 또는 러너에서 실행되는 스크립트 세트
  • 특정 작업을 수행하는 Step 또는 명령/동작 모음
  • 작업의 실행할 위치를 정의하는 Runner

GitHub Action에는 변수, 조건, secret management, 아티팩트, 종속작업, 환경, 로그 및 파이프라인 시각화와 같은 CI/CD 기본 기능이 있습니다. GitHub은 최근에 사용자가 워크플로우를 재사용 가능하도록 표시하면 다른 워크플로우에서 해당 파일을 기본 워크플로우 파일의 일부로 참조할 수 있는 재사용 가능한 워크플로우(reuseable workflows)를 소개하였습니다. 이는 Action을 구성하는데 중복되는 것을 줄일 수 있습니다. 또한, 최근에 GitHub Action은 워크플로우에 대한 최소한의 액세스를 제공하면서 단기 토큰을 사용하여 클라우드 플랫폼과 GitHub 작업 간의 자격 증명 중복을 줄이는 보안 클라우드 배포(secured cloud deployments)를 소개했습니다.

GitHub vs GitLab Decision Kit

GitLab과 GitHub의 DevOps 솔루션 제품 간의 차이점을 확인해보세요. GitLab과 Github의 Business Decision Maker(BDM) 페이지를 검토하여 GitLab과 GitHub을 비교할 때 고려해야 하는 주요 사항들을 이해하세요. (InfoGrab의 관련 블로그 : GitLab CI/CD vs GitHub Action 비교하기)

다음은 각 주요 기능별 Decision Kit입니다.

CI/CD

DevSecOps

VCC(Version Control & Collaboration)

라이선스 및 기타

맺음말

많은 분들이 SCM으로 GitLab과 GitHub을 도입하는데 고민을 하실 텐데, 이번에는 각 이해관계자가 어떠한 기준으로 결정을 해야 하는지에 대한 소개를 하였습니다. 개인적으로 GitLab과 GitHub을 비교하는 블로그를 쓸 때마다 항상 새로운 것을 느낍니다. GitHub의 기능 또한 우수하지만, DevSecOps의 도입을 생각하시는 분들에는 과감히 GitLab을 추천해 드리겠습니다.

이번 블로그를 통하여 많은 분들이 GitLab과 GitHub을 도입하는 데 도움이 되셨으면 좋겠습니다. 우리나라가 모든 회사가 DevSecOps 문화가 정착되는 그날까지 저희 InfoGrab이 응원하고 지원해 드리겠습니다.

⚠️
해당 콘텐츠는 저작권법에 의하여 보호 받는 저작물로 기고자에게 저작권이 있습니다.
사전 동의 없이 2차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.

DevOps 도입이 필요하신가요?

인포그랩 전문가가 맞춤 을 도와드립니다.

관련 글

GitLab CI/CD vs GitHub Action 비교하기
GitLabGitHub

GitLab CI/CD vs GitHub Action 비교하기

지난 블로그에서 GitLab과 GitHub에 대해서 비교해 봤습니다. 결론적으로는 GitHub의 Git에 대한 노하우는 무시할 수 없지만, 서비스 혹은 전체 라이프사이클에 대한 여러 가지 비용적인 요소에서 GitLab이 우수하다는 것을 확인할 수 있었습니다. 이번 블로그에서는 DevOps 측면에서 GitLab CI/CD와 GitHub Action을 좀 더 면밀하게 살펴보겠습니다.

2021년 5월 31일

GitLab.com에서의 암호화폐 채굴 어뷰징을 막는 방법
GitLabCI/CD

GitLab.com에서의 암호화폐 채굴 어뷰징을 막는 방법

올해 굉장히 바쁜 시간을 보내다 보니, 정말 오랜만에 블로그 포스팅을 하게 되었습니다. 이번 블로그 주제는 SaaS 버전 GitLab.com에서 2021년 5월 중순부터 시행된 CI 파이프라인 정책입니다. 이 정책은 가상화폐와 관련된 내용입니다. 어떠한 일이 있었고, GitLab은 이를 어떻게 해결했으며, GitLab 사용자에게 어떤 변화가 있는지 알아봅시다.

2021년 11월 23일

COVID-19(코로나) 시대에서 원격 근무로 살아남기
GitLabCI/CD

COVID-19(코로나) 시대에서 원격 근무로 살아남기

COVID-19(코로나)라는 국제적인 이슈가 발생한 지 오랜 시간이 지났습니다. 그로 인해 우리 주위에 근무환경도 많이 변했는데요, 특히 원격 근무에 대한 선호도가 눈에 띄게 증가했습니다. 이전에 원격 근무를 반대했던 기업들도 원격 근무를 도입하는 것에 대한 고민을 시작했습니다. 그렇다면 원격 근무를 잘하는 방법은 무엇이 있고, 어떠한 요건들이 충족되어야 하는지 알아봅시다.

2021년 9월 23일

인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!