GitHub vs Gitlab vs Bitbucket

이동명·2023년 6월 13일
2

오늘은 GitHub vs Gitlab vs Bitbucket 세가지의 공통점과 차이점 또한 내가 처한 상황에서 어떤 기술을 선택해야할지 알아보자.

공통점

  • Git 호스팅: 모두 Git을 사용하여 소스 코드를 버전 관리하고 저장할 수 있습니다.

  • 협업 기능: 이슈 트래킹, 코드 검토, 프로젝트 관리 등과 같은 기능을 통해 팀원들과 협업할 수 있습니다.

  • 웹 인터페이스: 모든 플랫폼은 사용자가 웹 브라우저를 통해 코드를 열고 관리할 수 있는 직관적인 인터페이스를 제공합니다.


  1. github web ui

  2. github desktop ui

  3. gitlab ui

  4. bitbucket ui

차이점

  • 소유 및 라이선스: GitHub는 Microsoft 소유이며, GitLab은 GitLab Inc. 소유, Bitbucket은 Atlassian 소유입니다.

  • 호스팅 옵션: GitLab과 Bitbucket은 자체 호스팅 옵션을 제공하지만, GitHub는 클라우드 호스팅만 제공합니다.

    # 결국 차이점은 기업이 코드 저장소 및 CI/CD 파이프라인을 보안 및 여러가지 이유로 기업 자체 에서 관리를 하느냐, 혹은 외부 클라우드를 사용하느냐, 혹은 github 인프라를 사용하느냐에 따라 차이가 있다.

    # CI/CD 란 ? 간단하게 어플리케이션 개발 단계부터 배포단계 까지의 모든 과정을 자동화 시켜서 조금 더 효율적이고 빠르게 사용자에게 빈번히 배포할 수 있는 것.

  • 가격 정책: 각 플랫폼은 다른 가격 정책을 가지고 있으며, 자체 호스팅, 사용자 수, 저장소 크기 등에 따라 다를 수 있습니다.

  • 기능과 통합: GitLab은 통합된 CI/CD, 프로젝트 관리, 워크플로우 자동화 등 다양한 기능을 갖추고 있습니다. Bitbucket은 Jira 및 다른 Atlassian 제품과의 강력한 통합을 제공합니다. GitHub은 강력한 소셜 기능과 오픈 소스 프로젝트에 대한 널리 알려진 커뮤니티를 가지고 있습니다.

아니 github도 강력한 github action 이 있는데 왜 gitlab 쓰는데 ?

GitLab CI/CD는 GitHub Actions와 비교했을 때 더 강력한 기능과 통합을 제공하는 경우가 많다.

  • 완전한 DevOps 플랫폼: GitLab은 코드 저장소, 이슈 트래킹, 프로젝트 관리, CI/CD, 컨테이너 레지스트리 등을 포함한 완전한 DevOps 플랫폼입니다. 이를 통해 통합된 개발 및 배포 프로세스를 구축할 수 있습니다.

  • 종합적인 CI/CD 기능: GitLab CI/CD는 다양한 기능과 통합을 제공합니다.

  • 자체 호스팅 옵션: GitLab은 자체 호스팅 옵션을 제공하여 기업 내부에서 코드 저장소와 CI/CD 파이프라인을 자체적으로 운영할 수 있습니다. 보안 및 커스터마이징 요구사항을 충족시키는 데 도움이 됩니다.

  • 확장성과 유연성: GitLab CI/CD는 다양한 실행 환경과 통합 도구를 지원합니다. 사용자 정의 스크립트, 컨테이너 기반 실행, 다단계 파이프라인 등을 통해 유연하고 복잡한 CI/CD 요구사항을 다룰 수 있습니다.

  • 한마디로 GitHub보다 특히 개발 및 배포 과정을 종합적으로 관리하고자 할 때 선택됨.

    # Jira 라는 협업 툴 ( 예시를 들면 노션과 비슷함 ) 등과 협업이 가능하다. 내가 작업을 하고 난 후의 히스토리를 관리하면서 추후 계획이나 많은 부분들을 계획 할 수 있음.

그렇다면 난 어떤걸 써야 할까 ?

  • 개인 프로젝트를 공개하고 다른 개발자들과 협업하려는 경우, GitHub을 선택할 수 있습니다. 예를 들어, 오픈 소스 프로젝트를 시작하고 다른 개발자들과 기여를 공유하고자 하는 경우 GitHub이 적합합니다.

  • 기업에서 대규모 프로젝트를 관리하고 CI/CD를 자동화하려는 경우, GitLab이 적합할 수 있습니다. 예를 들어, 자체 호스팅 옵션과 함께 기업 내부에서 코드 관리, 협업 및 배포 프로세스를 통합하려는 경우 GitLab이 유용합니다.

  • Atlassian 생태계 내에서의 프로젝트 관리와 통합이 필요한 경우, Bitbucket을 선택할 수 있습니다. 예를 들어, Jira와 연동하여 이슈 추적, 프로젝트 관리 및 팀 협업을 강화하고자 하는 경우 Bitbucket이 적합합니다.

profile
Web Developer

0개의 댓글