7 가지 최고의 셀프 호스팅 GitHub 대안

Microsoft가 GitHub를 인수한 이후 많은 개발자들이 코드를 호스팅할 대안을 찾고 있습니다. Microsoft(및 다른 많은 대기업)는 입증된 기술, 웹사이트 및 제품을 구매하여 그 범위를 확장하는 습관이 있습니다. Skype가 그 예시이고, 이제 GitHub도 그렇습니다.
다행히도 선택할 수 있는 다른 버전 관리 시스템이 많습니다. 이들 모두가 GitHub의 모든 기능을 갖춘 것은 아니지만, 필요에 따라 선택지는 꽤 괜찮습니다. 이 글에서는 오늘날 자신의 머신에 설치할 수 있는 최고의 셀프 호스팅 GitHub 대안들에 대해 살펴보겠습니다.
목차
- GitLab
- Gogs
- Trac
- GitBucket
- Gitea
- Mercurial
- Fossil
1. GitLab
Microsoft가 GitHub를 인수하기 전부터 GitLab은 이미 인기 있는 코드 관리 대안 플랫폼이었습니다. 이는 계획, 테스트, 패키징 및 배포 기능을 갖춘 오픈 소스 DevOps 라이프사이클 도구입니다. 또한, 위키 및 이슈 추적 기능이 포함되어 있어, 셀프 호스팅 “GitHub와 유사한” 경험을 원하는 사용자에게 매우 매력적입니다.

GitLab을 셀프 호스팅 코드 관리 플랫폼으로 사용할 수 있지만, 개발자들은 유료 프리미엄 SaaS 버전도 제공합니다. 이 버전에는 LDAP 서버와 동기화할 수 있는 기능 및 고급 CI/CD 파이프라인과 같은 추가 기능이 포함되어 있습니다.
즉, GitLab을 자신의 머신이나 그들이 제공하는 호스팅 플랫폼에 무료로 배포할 수 있습니다. 반면 프리미엄 에디션은 현재 사용자 당 월 $29부터 시작합니다.
팁: GitLab이 GitHub과 다른 점을 배우고 귀하에게 가장 적합한 것을 결정하세요.
2. Gogs
Gogs는 거의 모든 하드웨어에 배포할 수 있는 경량 Git 호스팅 플랫폼입니다. Go 언어로 작성된 이 프로그램은 가능한 한 빠르게 작동하도록 설계되었으며, 외부 종속성이 거의 또는 전혀 필요하지 않습니다. 예를 들어 Gogs는 512MB RAM만 있는 시스템에서도 실행할 수 있습니다.

Gogs의 가장 큰 장점 중 하나는 가상 서버에서도 매우 쉽게 실행할 수 있다는 것입니다. 기본적으로 Gogs는 코드 관리, 이슈 추적 및 변경 문서화를 위한 모든 도구를 포함하고 있습니다. 따라서 Gogs는 최고의 “파워 대 무게” 비율을 가진 “간편한” GitHub 대안을 찾고 있다면 좋은 선택입니다.
알아두기: Git 리포지토리 관리의 기본을 배우세요.
3. Trac
Trac은 Linux용 간단하고 매우 유연한 코드 관리 플랫폼입니다. GitLab 및 Gogs와는 달리, Trac은 백엔드 버전 관리 시스템으로 Subversion과 Git 모두와 작업할 수 있습니다. 이로 인해 이미 그 두 시스템 중 하나에서 작업 중인 프로젝트에 유용합니다.

유연한 도구일 뿐만 아니라 Trac은 프로젝트를 위한 향상된 위키 및 이슈 추적 시스템입니다. 다양한 티켓을 관리하고, 다른 역할을 할당하며, 리포지토리의 각 이슈에 대한 우선 순위 수준을 생성할 수 있습니다.
또한 Trac은 인스턴스의 기본 동작을 변경할 수 있는 여러 플러그인을 제공합니다. 예를 들어, Trac을 기존 GitHub 프로젝트와 통합할 수 있는 플러그인이 있습니다. 따라서 프로젝트의 진행 상황을 정기적으로 밀접하게 모니터링해야 하는 경우 Trac은 좋은 선택입니다.
팁: 간단한 Git을 사용하는 pastebin 솔루션이 필요하다면 Opengist를 확인해보세요.
4. GitBucket
GitBucket은 Scala로 작성된 JVM 기반의 GitHub 클론입니다. 목록의 다른 앱들만큼 많은 기능은 없지만, GitHub와의 유사성이 주요 장점입니다. 즉, GitHub이 그리워지면 언제든지 GitBucket을 사용할 수 있습니다.

그렇다고 해도 GitBucket은 괜찮은 리포지토리 뷰어, 이슈 추적기, 풀 리퀘스트를 검토하고 수락하는 능력뿐만 아니라 간단한 위키를 제공합니다. 그 외에도 플러그인을 통해 GitBucket의 기능을 확장할 수 있습니다. 이는 새로운 기능을 도입하거나 기존 기능을 변경할 수 있는 작은 코드 조각입니다. 예를 들어, GitHub Gist 플러그인이나 GitHub Pages와 유사한 맞춤 웹사이트를 GitBucket에 설치할 수 있습니다.
팁: 리포지토리를 최적화하기 위해 사용할 수 있는 최고의 Git 후크 몇 가지를 확인하세요.
5. Gitea
Gitea는 Linux용 경량 및 보안 중심의 코드 관리 플랫폼입니다. Gogs를 기반으로 하며, 시스템 리소스를 거의 사용하지 않으면서 포괄적인 플러그 앤 플레이 GitHub 대안을 제공하는 것을 목표로 합니다.

Gogs와 비교했을 때 Gitea의 주요 기능 중 일부는 내장된 RSS 피드, CI/CD 워크플로 지원, 그리고 리포지토리에 대한 여러 사용자 역할 지원입니다. 또한 GitHub 페이지와 유사한 맞춤 웹사이트와 같은 기능을 추가할 수 있는 자체 확장 프레임워크를 제공합니다. Gitea는 경량의 셀프 호스팅 GitHub을 찾고 있으면서도 높은 확장성을 원하는 경우 훌륭한 대안입니다.
참고: Emacs 사용자이신가요? Magit을 사용하여 Git을 Emacs에 통합하는 방법을 알아보세요.
6. Mercurial
이 목록의 이전 항목들과 달리, Mercurial은 GitHub와는 완전히 다른 코드 관리 플랫폼입니다. 신규 소프트웨어 개발자에게 배우기 쉬운 더 깨끗하고 구체적인 방식으로 코드를 관리할 수 있게 해줍니다. Subversion과 유사하게 Mercurial은 리눅스 시스템과 유사한 명령을 제공하여 불필요한 요소를 제거하는 것을 목표로 합니다.

Mercurial의 판매 포인트 중 하나는 크로스 플랫폼이며 고도로 모듈화되어 있다는 것입니다. 결과적으로 플랫폼에는 Mercurial 워크플로를 사용자 정의할 수 있는 많은 확장 기능이 포함되어 있습니다. 예를 들어, hgnested 확장 기능은 주 리포지토리 내부에 더 작은 하위 리포지토리를 생성할 수 있습니다.
7. Fossil
Fossil은 단순성과 신뢰성에 중점을 둔 Linux용 비-Git 소스 코드 관리 시스템입니다. Git 및 Mercurial과는 달리 Fossil은 코드 개발 및 공유를 위한 완전한 올인원 플랫폼을 제공합니다. 기본적으로 모든 Fossil 설치에는 포럼, 이슈 추적기, 심지어 간단한 IRC 채팅이 포함되어 있습니다.

Fossil의 독특한 판매 포인트는 배포하기 쉽고 머신의 요구 사항에 유연하다는 것입니다. sudo 권한 없이 단일 이진 파일에서 Fossil 리포지토리를 생성하는 것과 Docker 및 Docker Compose를 사용하여 컨테이너로 실행하는 것이 가능합니다. 이는 이미 서버를 보유하고 있으며 거의 모든 환경에 쉽게 배포할 수 있는 적응 가능한 코드 관리 플랫폼이 필요한 사용자에게 매력적입니다.
자신의 머신에 설치할 수 있는 최고의 GitHub 대안들을 배우는 것은 디지털 프라이버시를 되찾는 첫 번째 단계일 뿐입니다. Shlink을 사용하여 자신의 bit.ly 대안을 만들면서 이 놀라운 셀프 호스팅의 세계를 탐험해 보세요.
이미지 크레딧: Yancy Min via Unsplash. 모든 변경 및 스크린샷은 Ramces Red에 의해 작성되었습니다.