- 기여 방법
- GitLab 기술
- 문제 선택 또는 생성
- 커뮤니티 가입
- 개발 환경 선택
- 병합(merge) 요청 엽니다
- 엔터프라이즈 에디션 라이선스를 통한 프리미엄/얼티메이트 기능에 기여
- 도움 받기
GitLab 개발에 기여하기
GitLab에 기여에 관심을 가져 주셔서 감사합니다. 새로운 기능, 코드 또는 프로세스 변경, 오탈자 수정 또는 인터페이스 언어 업데이트를 기여할 수 있습니다.
이 안내서에는 GitLab 개발에 기여하는 방법에 대해 자세히 설명되어 있습니다.
첫 번째 기여자를 위한 단계별 안내서는 튜토리얼: GitLab 기여하기를 참조하세요.
기여 방법
- 행동 강령(Code of Conduct)을 읽으세요.
- 커뮤니티 fork에 액세스 권한을 요청하세요.
- 작업할 문제를 선택하거나 생성하세요.
- 개발 환경을 선택하세요.
- 변경 사항을 작성하고 병합(merge) 요청을 엽니다.
- 병합 요청은 검토되고 제품에 통합될 수 있습니다.
GitLab 기술
GitLab은 Ruby on Rails 애플리케이션입니다. Haml 및 Vue.js를 사용하는 JavaScript 기반 프론트엔드를 사용합니다.
일부 위성 프로젝트는 Go를 사용합니다. 예를 들면:
우리는 각 기술에 대한 개발 스타일 가이드를 가지고 있어서 규칙을 준수할 수 있습니다.
웹사이트 또는 핸드북에 기여하고 싶다면, 페이지의 푸터에서 View page source를 선택하여 해당 페이지를 저장소에서 엽니다.
문제 선택 또는 생성
작업할 내용을 이미 알고 있다면 해당 문제가 있는지 확인하세요. 없다면 새 문제를 엽니다. 적절한 템플릿을 선택하고 작업할 내용에 대한 모든 필요한 정보를 추가하세요. 이렇게 하면 더 많은 안내 및 지원을 받을 수 있습니다.
무엇을 할지 확실하지 않다면, ~quick win
레이블이 있는 이슈를 확인하고, 특히 문서 ~quick win
, 백엔드 ~quick win
, 또는 프론트엔드 ~quick win
을 필터링하세요.
작업하고 싶은 이슈를 찾으면 해당 이슈에 댓글을 남기세요. 이렇게 하면 GitLab 팀 및 더 넓은 GitLab 커뮤니티의 구성원들이 해당 이슈에 대해 작업할 것임을 알 수 있습니다.
이것은 이슈를 유효성 검사하는 좋은 기회입니다. 이슈가 여전히 유효한지 확인하고 의도한 방식을 명확히하며, 기능 또는 변경 사항이 수용될 가능성을 요청하세요. 이슈에 지정받은 것이 없더라도 시작할 수 있습니다. 이미 지정받은 담당자가 있는 경우, 해당 담당자에게 여전히 해당 이슈에 대해 작업 중인지 또는 협업하고 싶은지 물어보세요.
세부 내용은 이슈 워크플로우(issues workflow)를 참조하세요.
커뮤니티 가입
커뮤니티 fork에 액세스 권한을 요청해서 기여자 경험을 개선하기 위해 GitLab 저장소에서 미러링된 fork 세트를 받으세요. 커뮤니티 fork에 액세스 권한을 요청하면 커뮤니티 온보딩 프로젝트에서 온보딩 이슈를 받습니다. 커뮤니티 fork에 대한 자세한 내용은 Meta 저장소 README를 읽으세요.
게다가, GitLab Discord 서버에 가입하는 것을 권장합니다. GitLab 팀 멤버 및 넓은 커뮤니티 구성원들이 귀하의 질문에 답하고 기여를 위한 지원을 제공하기 위해 준비되어 있습니다.
개발 환경 선택
로컬에서 코드를 작성하고 테스트하려면 로컬 개발 환경을 선택하세요.
-
GitLab 개발 키트(GDK)는 자체 관리 GitLab 설치, 샘플 프로젝트 및 관리자 액세스를 포함한 로컬 개발 환경입니다.
-
GDK-in-a-box는 VS Code에서 연결할 수 있는 미리 구성된 가상 머신 이미지로 GDK를 패키지화합니다. GDK-in-a-box 구성을 따라 GDK-in-a-box를 설정하세요.
GDK 및 해당 종속성을 설치하려면 GDK 개발 환경 설치 단계를 따르세요.
-
로컬 하드웨어, 운영 체제 또는 소프트웨어와 관계없이 실행되는 브라우저 기반 원격 개발 환경인 Gitpod를 사용하세요.
병합(merge) 요청 엽니다
-
이 메시지가 표시되지 않는 경우, 좌측 사이드바에서 Code > Merge requests > New merge request를 선택하세요.
-
브랜치 이름을 살펴보세요. 커뮤니티 fork에서 당신의 브랜치를 GitLab 저장소의
master
브랜치로 병합해야 합니다. -
정보를 작성하고 Save changes를 선택하세요. 병합 요청이 완전하지 않아도 걱정하지 마세요.
GitLab 팀에서 누구에게서도 검토받고 싶지 않다면 Mark as draft 확인란을 선택하세요. 생성한 병합 요청에 만족하지 않는다면 닫을 수 있습니다.
-
이 병합 요청에 만족하고 검토 과정을 시작하려면, 코멘트에
@gitlab-bot ready
를 입력한 후 Comment를 선택하세요.GitLab의 어떤 사람이 당신의 요청을 살펴보고 다음 단계를 알려줄 것입니다. 자세한 내용은 병합 요청 워크플로우를 참조하세요.
커뮤니티 병합 요청이 트리지되는 방법
병합 요청을 생성할 때, 병합 요청 코치는 관련 있는 리뷰어를 지정하거나 가능한 경우 리뷰를 직접 안내할 것입니다.
목표는 리뷰어가 지정된 후 일주일 이내에 병합 요청이 리뷰되도록 하는 것입니다. 때로는 고업무량, 휴가 또는 기타 이유로 인해 시간이 더 걸릴 수 있습니다. 필요한 경우, 병합 요청에서 작성한 코드의 유형에 특화된 병합 요청 코치를 찾아 병합 요청에서 언급하세요. 예를 들어, 프론트엔드 코드를 작성했다면, 프론트엔드 병합 요청 코치를 언급해야 합니다. 코드가 여러 분야에 걸친 경우, 병합 요청 코치 여러 명을 언급할 수 있습니다.
타임라인 및 도움을 요청하거나 병합 요청을 에스컬레이션하는 방법에 대한 자세한 내용은 Wider Community Merge Request guide를 참조하세요.
병합 요청이 검토되고 병합된 후에는 변경 사항이 GitLab.com에 배포되어 다음 릴리스에 포함됩니다!
리뷰 프로세스
코드를 GitLab에 제출할 때, 우리는 정말로 병합되기를 원합니다! 그러나 우리는 제출물을 주의 깊게 검토하며 시간이 소요됩니다. 코드 제출물은 보통 병함되기 전에 두 명의 도메인 전문가들에 의해 검토됩니다.
검토 후, 리뷰어는 작성자에게 병합 요청을 업데이트하도록 요청할 수 있습니다.
그 경우, 리뷰어는 ~"workflow::in dev"
라벨을 설정할 것입니다.
요청된 변경 사항으로 병합 요청을 업데이트한 후에, 다시 리뷰를 위해 준비되었음을 나타내기 위해 @gitlab-bot ready
로 코멘트를 달아주세요.
이 프로세스는 병합되기 전에 여러 번 반복될 수 있습니다.
처음으로 작업을 시작하기 전에 기여자를 위한 병합 요청 가이드라인을 읽어보세요.
- 커밋 메시지 가이드라인을 반드시 따르세요.
- 구현 방법을 재현하는 단계가 포함된 훌륭한 설명을 작성하세요.
- 자동화된 테스트가 필요합니다. 서로 다른 테스트 수준을 이해하고 적용하는 데 시간을 투자하세요.
엔터프라이즈 에디션 라이선스를 통한 프리미엄/얼티메이트 기능에 기여
유료 티어에 속한 GitLab 기능에 기여하고 싶다면, EE 디렉토리에 있는 코드는 GitLab 엔터프라이즈 에디션 라이선스가 필요합니다. GitLab 엔터프라이즈 에디션 라이선스를 요청하려면 문서화된 프로세스에 따르세요.
도움 받기
GitLab에 기여하는 데 도움을 받는 방법:
- 병합 요청이나 이슈에 댓글로
@gitlab-bot help
를 입력하세요. -
GitLab Community Discord에 가입하고
#contribute
채널에서 도움을 요청하세요. - Contributor Success 팀에 이메일을 보내세요:
contributors@gitlab.com
.