GitLab 개발에 기여하기
GitLab v19.2GitLab에 기여해 주셔서 감사합니다. 이 가이드는 GitLab 개발에 기여하는 방법을 자세히 설명합니다. 처음 기여하는 분을 위한 단계별 가이드는 튜토리얼: GitLab에 기여하기를 참고하세요. 작업할 이슈를 선택하거나 생성하세요.
GitLab에 기여해 주셔서 감사합니다. 새로운 기능, 코드 또는 프로세스 변경, 오타 수정, 인터페이스 언어 업데이트 등 다양한 방식으로 기여할 수 있습니다.
이 가이드는 GitLab 개발에 기여하는 방법을 자세히 설명합니다.
처음 기여하는 분을 위한 단계별 가이드는 튜토리얼: GitLab에 기여하기를 참고하세요.
기여하는 방법#
-
행동 강령을 읽어보세요.
-
머지 리퀘스트는 트리지, 검토를 거친 후 제품에 반영될 수 있습니다.
모든 기여는 영어로 제출해야 합니다. GitLab 엔지니어링 작업은 영어로 진행되며, 다른 언어로 작성된 머지 리퀘스트나 이슈는 검토하거나 수락할 수 없습니다.
GitLab 기술 스택#
GitLab은 Ruby on Rails 애플리케이션입니다. Haml과 Vue.js 기반의 JavaScript 프론트엔드를 사용합니다.
일부 부속 프로젝트는 Go를 사용합니다. 예를 들면:
코딩 표준에 맞게 개발할 수 있도록 각 기술별 개발 스타일 가이드를 제공합니다.
웹사이트나 핸드북에 기여하고 싶다면, 페이지 하단으로 이동하여 View page source를 선택해 리포지터리에서 해당 페이지를 여세요.
이슈 선택 또는 생성#
무엇을 작업할지 모르겠다면 기여자 플랫폼의 이슈 찾기를 사용하여 이슈를 찾고 본인에게 할당하세요.
quick win::first-time contributor 라벨이 있는 이슈부터 시작하는 것을 권장합니다.
작업할 내용을 알고 있다면 이미 이슈가 존재하는지 확인하세요.
없다면 새 이슈를 여세요.
적절한 템플릿을 선택하고 작업 계획에 관한 모든 필요한 정보를 추가하세요.
이슈에 @gitlab-bot help를 사용하거나 기여자 플랫폼을 통해 머지 리퀘스트 코치를 태그하여 이슈 검증을 도움받으세요.
시작하기 위해 이슈에 할당될 필요는 없습니다.
이미 담당자가 있는 이슈라면 아직 작업 중인지, 또는 협업을 원하는지 물어보세요.
자세한 내용은 이슈 워크플로를 참고하세요.
커뮤니티 참여#
기여자 온보딩을 시작하여 커뮤니티 포크에 접근하세요. 커뮤니티 포크는 기여자 경험을 개선하기 위해 GitLab 리포지터리에서 미러링된 포크 모음입니다. 온보딩을 시작하면 커뮤니티 온보딩 프로젝트에서 온보딩 이슈를 받게 됩니다. 자세한 내용은 Meta 리포지터리 README에서 커뮤니티 포크에 대해 읽어보세요.
또한 GitLab Discord 서버에 참여하는 것을 권장합니다. GitLab 팀원들과 더 넓은 커뮤니티가 질문에 답하고 기여를 위한 지원을 제공할 준비가 되어 있습니다.
개발 환경 선택#
코드를 로컬에서 작성하고 테스트하려면 로컬 개발 환경을 선택하세요.
-
GitLab Development Kit (GDK)는 로컬 개발 환경으로, GitLab Self-Managed 설치본, 샘플 프로젝트, 기능 테스트를 위한 관리자 접근 권한이 포함되어 있습니다.
-
GDK-in-a-box는 GDK를 사전 구성된 컨테이너 이미지로 패키징하여 VS Code로 연결할 수 있습니다. GDK-in-a-box 구성하기를 따라 GDK-in-a-box를 설정하세요.
GDK와 의존성을 설치하려면 GDK 개발 환경 설치의 단계를 따르세요.
변경 사항 만들기 및 머지 리퀘스트 열기#
-
커뮤니티 포크의 브랜치에서 코드 변경 사항을 만드세요.
-
정식 리포지터리의 master 브랜치를 타깃으로 하는 머지 리퀘스트를 생성하세요.
-
@gitlab-bot이 게시한 링크를 따라 라벨을 추가하거나 GitLab 팀에 리뷰를 요청하세요.
머지 리퀘스트 열기 및 제출에 관한 전체 단계별 지침은 머지 리퀘스트 튜토리얼을 참고하세요.
질문이 있으신가요?
@gitlab-bot help를 사용하여 GitLab 머지 리퀘스트 코치에게 핑을 보내세요. MR 코치에 대한 자세한 내용은 GitLab 머지 리퀘스트 코치가 도울 수 있는 방법을 방문하세요.
커뮤니티 머지 리퀘스트 트리지 방법#
머지 리퀘스트를 생성하면 머지 리퀘스트 코치가 관련 검토자를 배정하거나 가능한 경우 직접 검토 과정을 안내합니다.
목표는 검토자가 배정된 후 일주일 이내에 머지 리퀘스트를 검토하는 것입니다. 높은 업무량, 휴일 또는 기타 이유로 더 오래 걸릴 수 있습니다. 필요한 경우 작성한 코드 유형을 전문으로 하는 머지 리퀘스트 코치를 찾아 머지 리퀘스트에서 멘션하세요. 예를 들어, 프론트엔드 코드를 작성했다면 프론트엔드 머지 리퀘스트 코치를 멘션해야 합니다. 코드가 여러 분야에 걸쳐 있다면 여러 머지 리퀘스트 코치를 멘션할 수 있습니다.
타임라인 및 도움 요청이나 머지 리퀘스트 에스컬레이션 방법에 대한 자세한 내용은 더 넓은 커뮤니티 머지 리퀘스트 가이드를 참고하세요.
머지 리퀘스트가 검토되고 병합되면 변경 사항이 GitLab.com에 배포되고 다음 릴리스에 포함됩니다!
검토 프로세스#
GitLab에 코드를 제출하면 반드시 병합되길 원합니다! 하지만 제출물을 꼼꼼하게 검토하므로 시간이 걸립니다. 코드 제출물은 병합 전에 일반적으로 두 명의 도메인 전문가가 검토합니다:
검토 후 검토자가 작성자에게 머지 리퀘스트 업데이트를 요청할 수 있습니다.
이 경우 검토자는 ~"workflow::in dev" 라벨을 설정합니다.
요청된 변경 사항으로 머지 리퀘스트를 업데이트한 후 @gitlab-bot ready로 댓글을 달아 다시 검토할 준비가 되었음을 알리세요.
이 프로세스는 병합 전까지 여러 번 반복될 수 있습니다.
처음 시작하기 전에 기여자를 위한 머지 리퀘스트 가이드라인을 읽어보세요.
-
구현을 재현하는 단계를 포함한 훌륭한 설명을 작성하세요.
-
자동화 테스트가 필요합니다. 다양한 테스트 레벨을 이해하고 적절하게 적용하는 데 시간을 들이세요.
Enterprise Edition 라이선스로 Premium/Ultimate 기능에 기여하기#
유료 티어에 포함된 GitLab 기능, 즉 EE 디렉터리에 있는 코드에서 작업하려면 GitLab Enterprise Edition 라이선스가 필요합니다. 문서화된 프로세스에 따라 Enterprise Edition 개발자 라이선스를 요청하세요.
도움받기#
GitLab에 기여하면서 도움을 찾는 방법:
- 머지 리퀘스트 또는 이슈의 댓글에
@gitlab-bot help를 입력하여 MR 코치를 태그하세요.
자세한 내용은 GitLab 머지 리퀘스트 코치가 도울 수 있는 방법을 참고하세요.
-
GitLab 커뮤니티 Discord에 참여하여
#contribute채널에서 도움을 요청하세요. -
contributors@gitlab.com으로 기여자 성공 팀에 이메일을 보내세요.