GitLab 개발에 기여하기

GitLab에 기여에 흥미를 가져주셔서 감사합니다. 이 안내서는 GitLab 개발에 기여하는 방법에 대해 상세히 설명합니다.

처음 사용하는 단계별 안내서는 튜토리얼: GitLab 기여하기를 참조하세요.

기여 방법

  1. 행동 강령을 읽으세요.
  2. 작업할 문제를 선택하거나 만드세요.
  3. GitLab 개발 키트를 설정하세요.
  4. 병합 요청을 엽니다.

병합 요청은 필터링되어 검토되며, 제품에 통합될 수 있습니다.

행동 강령

우리는 기여에 관심 있는 모든 사람들을 위한 환영받는 분위기를 조성하고자 합니다. 보다 자세한 정보는 행동 강령 페이지를 확인하세요.

이슈와 병합 요청은 영어로 작성하고 모든 연령대를 대상으로 적절한 언어를 사용해야 합니다.

문제 선택 또는 만들기

무엇을 작업할지 알고 있다면 해당 문제가 있는지 확인하세요. 없다면 새로운 문제를 열어주세요. 적절한 템플릿을 선택하고 계획 중인 작업에 대한 모든 필요한 정보를 추가하세요. 이렇게 하면 GitLab 팀 구성원으로부터 보다 많은 지침과 지원을 받을 수 있습니다.

무엇을 할지 확실하지 않다면 ~Seeking community contributions~quick win 라벨이 있는 문제 보기를 확인하세요.

문제를 찾았다면 해당 문제에 댓글을 남기세요. 이렇게 하면 GitLab 팀과 광범위한 GitLab 커뮤니티 구성원들이 해당 문제에서 작업할 것이라는 것을 알 수 있습니다.

자세한 내용은 이슈 작업 흐름을 참조하세요.

GitLab 개발 키트 설정

코드를 작성하고 테스트하려면 GitLab 개발 키트를 사용합니다.

  1. 액세스 요청를 통해 GitLab 커뮤니티 포크에 액세스하세요. 또는 공개 포크를 만들 수도 있지만, 커뮤니티 포크의 이점을 놓칠 수 있습니다.
  2. 일부 GitLab 프로젝트에는 저장소의 README 또는 CONTRIBUTING 파일에 자세한 기여 가이드가 있습니다. 개발 환경을 설정하기 전에 이러한 파일을 검토하면 원활한 시작을 보장할 수 있습니다.
  3. 다음 중 하나를 수행하세요.
    • 로컬로 개발 환경을 실행하려면 GitLab 개발 키트를 다운로드하고 설정하세요. 설정 지침은 GDK README 및 만약 문제가 발생한 경우 문제 해결을 참조하세요.

    • GDK는 무겁습니다. 빠르게 빌드해야 하는 경우, 시행 착오로 인해 고려할 점이 있다면 빈 rails 앱으로 실행하고 나중에 GDK로 이식하는 것을 고려하세요.

    • 클라우드에서 이미 구성된 GDK 인스턴스를 실행하려면 GDK with Gitpod을 사용하세요. 프로젝트 저장소:

      1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
      2. 오른쪽 상단에서 편집 > Gitpod을 선택하세요.
  4. 웹사이트 또는 핸드북에 기여하려면, 페이지 하단의 웹 IDE에서 편집을 선택하여 웹 IDE를 열어주세요.

병합 요청 열기

이제 병합 요청을 엽니다 코드 및 해당 문서를 병합하세요. 가능한 빨리 병합 요청을 열면 피드백을 더 빨리 받을 수 있습니다. 아직 완료되지 않았음을 나타내기 위해 임시로 표시할 수 있습니다.

  1. 병합 요청에서 이 변경 사항을 도입하는 이유 및 이 병합 요청이 닫거나 수정을 시도하는 이슈에 대한 링크와 같은 템플릿에서 요청하는 모든 정보를 작성하세요.
  2. 필요한 경우 테스트 추가, 그리고 변경 로그 항목도 추가하세요.
  3. 변경 사항이 사용자 또는 관리자에게 영향을 미치는 경우, 문서를 업데이트하세요.

자세한 내용은 병합 요청 작업 흐름을 참조하세요.

커뮤니티 병합 요청이 트리아지되는 방법

  1. 병합 요청을 생성하면 @gitlab-bot이 자동으로 “~Community contribution” 라벨을 적용합니다.
  2. 병합 요청 생성 후 24-48시간 이내에 병합 요청 코치가 병합 요청을 검토하고 stage, group, type 라벨을 적용합니다.
  3. 병합 요청이 자동으로 할당되지 않은 경우, @gitlab-bot ready라고 코멘트하여 리뷰를 요청하십시오. 초기 제출 후 2일 이내에 리뷰어가 할당되지 않았다면 @gitlab-bot help로 도움을 요청할 수 있습니다.
  4. 병합 요청 코치는 관련 리뷰어를 할당하거나 가능한 경우 직접 검토를 합니다.

목표는 리뷰어가 할당된 후 일주일 이내에 병합 요청이 검토되도록 하는 것입니다. 때로는 업무량, 휴가 또는 기타 이유로 인해 더 오랜 시간이 걸릴 수 있습니다. 필요하다면, 병합 요청 코치 팀 페이지를 방문하여 귀하의 코드 유형에 특화된 병합 요청 코치를 언급하고 병합 요청에서 언급하십시오. 예를 들어, 프론트엔드 코드를 작성했다면, 프론트엔드 병합 요청 코치를 언급해야 합니다. 코드에 여러 학문 분야가 있는 경우, 여러 병합 요청 코치를 언급할 수 있습니다.

타임라인 및 도움 요청 또는 병합 요청을 Eskalasyon하는 방법에 대한 자세한 내용은 Wider Community Merge Request 가이드를 참조하십시오.

귀하의 병합 요청이 검토되고 병합되면, 귀하의 변경 사항이 GitLab.com에 배포되고 다음 릴리스에 포함됩니다!

검토 프로세스

GitLab에 코드를 제출할 때, 우리는 정말로 그것을 병합시키길 원합니다! 그러나, 우리는 항상 신중하게 제출물을 검토하며, 이는 시간이 소요됩니다. 코드 제출물은 일반적으로 병합되기 전에 두 domain experts에 의해 검토될 것입니다:

  • 리뷰어
  • 메인테이너

검토 후, 리뷰어는 작성자에게 병합 요청을 업데이트하라고 요청할 수 있습니다. 이 경우 리뷰어는 ~"workflow::in dev" 라벨을 설정할 것입니다. 병합 요청이 업데이트되고 다시 검토 준비가 된 경우(예: @gitlab-bot ready로), 그들은 코드를 다시 검토할 것입니다. 이 프로세스는 병합되기 전까지 반복될 수 있습니다. 이는 기여를 최상으로 만들기 위해 도와주는 것입니다.

마지막으로, 병합 요청을 제출할 때 다음 사항을 명심하십시오:

  • 리뷰어가 병합 요청을 읽는 동안 기타 리뷰어로부터 지침을 요청할 수 있습니다.
  • 코드 품질이 GitLab 표준을 충족하지 못할 경우, 병합 요청 리뷰어는 안내를 제공하고 작성자를 우리의:
  • 때로는 스타일 가이드는 따르지만 코드가 구조적으로 일관성이 없거나, 리뷰어가 코드의 전반적인 품질에 대해 예약 사항이 있을 수 있습니다. 예약 사항이 있는 경우, 리뷰어는 작성자에게 알리고 일부 지침을 제공할 것입니다.
  • GitLab은 일반적으로 누구나 병합 요청의 승인을 나타내도록 허용하지만, 메인테이너는 병합 요청을 병합하기 전에 특정 리뷰어의 승인을 요구할 수 있습니다.
  • 때로는 메인테이너가 병합 요청을 닫기로 선택할 수 있습니다. 그들은 왜 병합되지 않을 것인지, 그리고 몇 가지 지침을 제공할 것입니다. 메인테이너는 코드가 승인되고 앞으로 병합될 수 있도록하는 방법에 대한 논의를 열어둘 것입니다.

이슈 및 병합 요청에 대한 종료 정책

엔터프라이즈 에디션 라이선스로 프리미엄/얼티밋 기능에 기여하기

만약 유료 티어 내에 있는 GitLab 기능 또는 EE 폴더에 있는 코드를 작업하고 싶다면, GitLab 엔터프라이즈 에디션 라이선스가 필요합니다. 문서화된 프로세스에 따라 엔터프라이즈 에디션 개발자 라이선스를 요청하세요.

도움받기

GitLab에 기여하는 동안 도움이 필요한 경우:

  • 병합 요청에 도움이 필요하거나 리뷰어를 찾는 데 도움이 필요한 경우:
    • 주석에서 @gitlab-bot help를 입력하여 도움을 요청하십시오.
    • GitLab 프로젝트의 리뷰어 및 유지 관리자를 찾으려면 handbookmention에서 언급하십시오.
  • GitLab 커뮤니티 디스코드에서 커뮤니티에 참여하고 다른 기여자를 만나거나 멘토 세션을 시작하세요.
  • 기여에 대한 다른 질문이나 피드백이 필요한 경우:
  • GitLab 병합 요청의 연산 시간을 모두 사용했나요? GitLab 커뮤니티 포크 프로젝트에 참여하세요.