저는 개인 프로젝트에 GitHub를, 회사 프로젝트에는 GitLab을 사용해 왔습니다.
그러나 GitLab의 경우, 간혹 속도가 느리거나 연결 오류가 발생하는 경우가 종종 있어서 팀원들의 불만이 간간히 나오기도 했었고, 곧 새로운 프로젝트를 시작하게되니 지금이 기회다 싶어 이 문제를 해결할 수 있는 다른 대안을 찾아보게 되었습니다.
그 과정에서 Gitea에 대해 알게 되었고, 이를 테스트해 보기로 결정했습니다.

사전 테스트 진행

Gitea는 오픈 소스 라이선스라 개인 서버에 쉽게 설치해서 사용할 수 있었습니다.
Asustor NAS를 사용한다면 App Store에서 그냥 설치만 하면 되기 때문에 특별한 설정을 할것도 없습니다.
무작정 업무에 Gitea를 도입할 수는 없었기 때문에, 먼저 개인 서버에 Gitea를 설치하여 여러 가지 테스트를 진행해 보았습니다.
이 테스트를 통해 얻은 결과를 아래와 같이 공유하고자 합니다.

Gitea 설치

Gitea를 개인 서버에 설치하여 사용함으로써 다음과 같은 여러 가지 장점을 경험할 수 있었습니다.

  • 완전한 제어권: 개인 서버를 운영하면 서버 설정 및 관리에 대한 완전한 제어권을 가질 수 있어, 필요에 따라 맞춤형 설정이 가능합니다.
  • 비용 절감: 클라우드 서비스 이용에 따른 추가 비용을 절감할 수 있습니다. 특히 대규모 프로젝트나 많은 데이터를 처리할 때 비용이 크게 절감될 수 있습니다.
  • 보안 강화: 민감한 데이터를 제3자의 서버에 저장하지 않기 때문에, 보안 측면에서 더 높은 신뢰성을 확보할 수 있습니다. 회사의 기밀 정보나 소스 코드를 외부에 유출될 위험 없이 안전하게 관리할 수 있습니다.

Gitea 사용

속도

Gitea는 GitLab에 비해 훨씬 빠른 속도와 응답성을 제공했습니다.
이는 팀원들이 가장 불만이었던 GitLab의 느린 속도에 대한 이슈에 대한 매우 중요한 요소였습니다.
Gitea의 빠른 속도는 특히 여러 명의 개발자가 동시에 작업할 때 유용하며, 빌드와 배포 과정에서도 효율성을 크게 높일 수 있습니다.

그래프

Gitea는 기본적인 그래프와 시각화 기능을 제공하지만, GitLab에 비해서는 다소 단순한 편입니다.
그러나 Gitea의 단순한 그래프도 충분히 기능적이며, 조금 적응하면 큰 불편함 없이 사용할 수 있었습니다.

코드 수정 내역 확인

여러 파일에 걸쳐 수정이 이루어진 경우, Gitea는 파일 위치를 트리 구조로 시각화하여 보여줍니다.
이는 코드 변경 사항을 직관적으로 파악할 수 있게 해주며, 코드 리뷰 과정에서 매우 유용합니다.
GitLab도 유사한 기능을 제공하지만, Gitea의 트리 구조 시각화는 더 간편하게 느껴졌습니다.

이슈 등록 및 처리, 마일스톤 관리, 칸반 보드 등

이번 관리도구를 변경하는것은 단순히 파일을 올리고 히스토리를 관리하는 것이 아니라, 이슈 등록과 처리, 마일스톤 관리, 칸반 보드 활용 등을 통해 팀원들과의 커뮤니케이션 구조를 개선해보고자 했던것이 더 큰 이유였습니다.

이슈 레이블

GitLab은 이슈 레이블별로 구독이 가능한 기능을 제공하여, 특정 레이블에 관심 있는 팀원들이 업데이트를 즉시 받을 수 있습니다.
반면, Gitea는 구독 관련 기능이 없지만, 항상 헤더에 ‘이슈들’이라는 탭이 표시되어 있어 이슈를 쉽게 확인할 수 있었습니다.
이로 인해 모든 팀원이 실시간으로 이슈를 확인하고 대응할 수 있을거 같아 이슈 구독 큰 문제는 되지 않을거라 보입니다.

마일스톤

GitLab은 마일스톤과 위키 설명에 이미지를 추가할 수 있으며, 시작일과 종료일을 지정할 수 있습니다.
이는 프로젝트 관리와 일정 계획 수립에 매우 유용합니다.
반면, Gitea는 마일스톤과 위키 설명을 기본 텍스트로만 입력할 수 있었고, 기한(종료일)만 지정할 수 있었습니다.
이러한 제한이 조금 걱정이긴한데, Gitea의 사용하는 방식에 따라서는 큰 문제가 아닐수도 있겠다 싶어 우선은 긍정적으로 보고 넘어갈수 있을거 같습니다.

스니펫 기능

기본적으로 필요한 기능은 어디서나 모두 가능하지만 GitLab에 있는 스니펫 등 다양한 추가기능들이 Gitea에는 지원되지 않는경우가 종종 있었습니다.
하지만 저는 이러한 기능들은 기존에도 잘 사용하지 않았기 때문에 문제는 안된다고 판단했습니다.

정적 페이지 배포 기능

GitHub의 경우 정적 페이지를 그대로 사용자들에게 배포할 수 있는 기능이 있는데, Gitea에는 이 기능이 없습니다.
이 기능이 없다는건 개인적으로는 매우 아쉬웠습니다.