GitLab 개발에 기여하기
GitLab에 기여에 관심을 가져 주셔서 감사합니다. 이 안내서는 GitLab 개발에 기여하는 방법에 대해 자세히 설명합니다.
처음부터 단계별 안내서는 튜토리얼: GitLab 기여를 참조하세요.
기여하는 방법
- 행동 강령을 읽으세요.
- 작업할 문제를 선택하거나 생성하세요.
- GitLab 개발 키트를 설정하세요.
- Merge Request을 엽니다.
귀하의 Merge Request은 살펴보고 검토되며, 그런 다음 제품에 통합될 수 있습니다.
행동 강령
기여에 관심이 있는 모든 사람들을 환영하는 환경을 조성하고자 합니다. 더 자세한 정보는 행동 강령 페이지를 참조하세요.
문제와 Merge Request은 영어로 작성되어야 하며, 모든 연령층을 대상으로 적절한 언어를 사용해야 합니다.
문제 선택 또는 생성
무엇을 할 지 알고 있다면 해당 문제가 있는지 확인하세요. 없다면 새 문제를 엽니다. 적절한 템플릿을 선택하고, 수행할 작업에 대한 모든 필요한 정보를 추가하세요. 그러면 GitLab 팀 멤버들로부터 더 많은 지침과 지원을 받을 수 있습니다.
무엇을 할 지 모르겠다면, ~Seeking community contributions
및 ~quick win
레이블이 지정된 문제를 확인하세요.
문제를 찾으면 해당 문제에 댓글을 남기세요. 이렇게 하면 GitLab 팀 및 더 넓은 GitLab 커뮤니티의 구성원들이 해당 문제에 작업할 것임을 알게 됩니다.
자세한 내용은 문제 워크플로우를 참조하세요.
GitLab 개발 키트 설정
코드 작성 및 테스트를 위해 GitLab 개발 키트를 사용하게 됩니다.
- 액세스 요청 를 통해 GitLab 커뮤니티 포크에 액세스하세요. 대안으로 공개 포크를 생성할 수도 있지만, 커뮤니티 포크의 혜택을 누리지 못할 수도 있습니다.
- 일부 GitLab 프로젝트는 리포지터리의 README 또는 CONTRIBUTING 파일에 상세한 기여 가이드가 있을 수 있습니다. 개발 환경을 설정하기 전에 이러한 파일을 검토하는 것이 좋습니다.
- 다음 중 하나를 수행하세요:
- 로컬에서 개발 환경을 실행하려면 GitLab 개발 키트를 다운로드하고 설정하세요. 설정 지침은 GDK README 및 문제 해결 시 문제 해결을 참조하세요.
- GDK는 무겁습니다. 빠르게 무언가를 구축해야 하는 경우 빈 레일 앱으로 시도해보고, 그 후 GDK로 이식할 수 있습니다.
- 클라우드에서 사전 구성된 GDK 인스턴스를 실행하려면 GDK with Gitpod를 사용하세요. 프로젝트 리포지터리에서:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾으세요.
- 오른쪽 상단에서 편집 > Gitpod를 선택하세요.
- 웹사이트나 핸드북에 기여하려면, 페이지 하단에서 웹 IDE에서 편집을 선택하여 웹 IDE를 엽니다.
Merge Request 열기
이제 Merge Request을 열어 코드와 해당 문서를 Merge하세요. 가능한 빨리 Merge Request을 열면 피드백을 받을 수 있습니다. 작업이 완료되지 않았음을 나타내려면 임시로 표시할 수 있습니다.
- Merge Request에서 왜 이러한 변경 사항을 소개하고 있는지, 이 Merge Request이 닫히거나 수정하려는 문제에 대한 링크와 같은 템플릿에 요청된 모든 정보를 입력하세요.
- 필요에 따라 테스트를 추가하고, 또한 변경 로그 항목을 추가하세요.
- 변경 사항이 사용자 또는 관리자에게 영향을 미치는 경우, 문서를 업데이트하세요.
자세한 내용은 Merge Request 워크플로우를 참조하세요.
커뮤니티 Merge Request이 산정되는 방법
- Merge Request을 생성하면
@gitlab-bot
이 자동으로 “~Community contribution” 레이블을 적용합니다. - Merge Request을 생성한 후 24-48시간 이내에 Merge Request 코치가 Merge Request을 검토하고 단계, 그룹 및 유형 레이블을 적용합니다.
- Merge Request이 자동으로 할당되지 않았다면, 댓글에서
@gitlab-bot ready
를 입력하여 리뷰를 요청하세요. 초기 제출 후 2일 이내에 리뷰어가 할당되지 않았다면,@gitlab-bot help
로 도움을 요청할 수 있습니다. - Merge Request 코치는 해당 리뷰어를 할당하거나 가능한 경우 리뷰를 수행합니다.
목표는 리뷰어가 할당된 후 1주일 이내에 Merge Request이 검토되는 것입니다. 때로는 업무량, 휴가 또는 기타 이유로 인해 더 오랜 시간이 소요될 수 있습니다. 필요한 경우, 작성한 코드의 유형에 특화된 Merge Request 코치를 위한 팀 페이지를 참조하고, Merge Request에서 언급하세요. 예를 들어, 프론트엔드 코드를 작성했다면 프론트엔드 Merge Request 코치를 언급해야 합니다. 여러 분야에 걸친 코드를 작성했다면 여러 Merge Request 코치를 언급할 수 있습니다.
타임라인 및 도움 요청 또는 Merge Request을 승인하는 방법에 대한 자세한 내용은 넓은 커뮤니티 Merge Request 가이드를 참조하세요.
Merge Request이 검토되고 Merge된 후, 변경 사항이 GitLab.com에 배포되며 다음 릴리스에 포함됩니다!
리뷰 프로세스
GitLab에 코드를 제출하면 실제로 Merge되기를 원합니다! 그러나 우리는 항상 제출물을 주의 깊게 검토하며 이는 시간이 소요됩니다. 코드 제출물은 일반적으로 Merge 전에 두 도메인 전문가에 의해 검토됩니다:
- 검토자.
- 유지보수자(maintainer).
검토 후, 검토자는 작성자에게 Merge Request을 업데이트하도록 요청할 수 있습니다. 이 경우에 검토자는 ~"workflow::in dev"
라벨을 설정할 것입니다.
한 번 Merge Request이 업데이트되고 다시 검토를 위해 준비되었을 때(예: @gitlab-bot ready
로), 그들은 다시 코드를 검토할 것입니다.
이 프로세스는 Merge되기 전에 기여를 최상의 상태로 만들기 위해 여러 번 반복될 수 있습니다.
마지막으로, Merge Request을 제출할 때 다음 사항을 명심하세요:
- 검토자가 Merge Request을 검토하는 동안, 다른 검토자로부터 지침을 요청할 수 있습니다.
- 코드 품질이 GitLab 기준을 충족하지 못하면, Merge Request 검토자는 지침을 제공하고 작성자를 다음 문서로 안내할 것입니다:
- 문서 스타일 가이드.
- 코드 스타일 가이드.
- 때로는 스타일 가이드를 따르지만 코드의 구조적 무결성이 부족하거나, 검토자가 코드의 전반적인 품질에 대해 예약 사항이 있을 수 있습니다. 예약 사항이 있는 경우, 검토자는 작성자에게 알리고 일부 지침을 제공할 것입니다.
- GitLab은 일반적으로 누구든지 Merge Request에 대한 승인을 지시합니다만, 유지보수자는 Merge Request을 Merge하기 전에 특정 검토자로부터의 승인을 요구할 수 있습니다.
- 때로는 유지보수자가 Merge Request을 닫을 수 있습니다. 그들은 왜 Merge되지 않을 것인지에 대해 완전히 공개하고 몇 가지 지침을 제공할 것입니다. 유지보수자는 코드를 어떻게 변경하여 향후에 승인 및 Merge될 수 있는지에 대한 논의에 열려 있을 것입니다.
팁
- 작은 MR은 훌륭한 리뷰의 주요 요소입니다.
- 처음으로 시작하기 전에 기여자를 위한 Merge Request 지침을 읽는 것이 좋습니다.
- 자동 테스트가 필요합니다. 다양한 테스트 수준을 이해하고 적용하는 데 시간을 투자하세요.
- 구현의 재현 단계를 포함하는 훌륭한 설명이 있는지 확인해 주세요.
- 커밋 메시지 가이드라인을 준수했는지 확인해 주세요.
이슈 및 Merge Request 종료 정책
- 이슈를 종료하기 위한 기준은 이슈 Triange 핸드북 페이지를 참조하십시오.
- Merge Request을 종료하기 위한 기준은 Merge Request 워크플로우를 참조하십시오.
엔터프라이즈 에디션 라이선스로 Premium/Ultimate 기능에 기여하
만약 유료 티어 내에 있는 GitLab 기능에 대한 작업을 원하신다면, 일명 EE 폴더에 있는 코드를 필요로 합니다. GitLab Enterprise Edition 라이선스를 요청하려면 문서화된 프로세스에 따라 주십시오.
도움받기
GitLab에 기여하는 동안 도움이 필요한 경우:
- Merge Request에 대한 도움이 필요하거나 리뷰어를 찾는 데 도움이 필요한 경우:
-
GitLab Community Discord에서 커뮤니티에 참여하여
#contribute
채널에서 다른 기여자를 찾거나 멘토 세션을 시작하십시오. - 기여에 대한 기타 질문이나 피드백을 받으려면:
- 댓글에서
@gitlab-org/community-relations/contributor-success
를 핑하여 질문하십시오. - 경험을 공유하는 새로운 이슈를 작성해도 좋습니다.
- 댓글에서
- GitLab Merge Request에 대한 컴퓨트 분에 사용량이 다 떨어진 경우에는 GitLab 커뮤니티 forks 프로젝트에 가입하십시오.