GitLab 개발에 기여하기

GitLab에 기여해 주셔서 감사합니다.

새로운 기능, 코드 또는 프로세스 변경, 오타 수정,

혹은 인터페이스의 언어 업데이트를 기여할 수 있습니다.

이 가이드는 GitLab 개발에 기여하는 방법에 대해 자세히 설명합니다.

첫 번째 기여자를 위한 단계별 가이드는 자습서: GitLab 기여하기를 참조하세요.

기여하는 방법

  1. 행동 강령을 읽으세요.

  2. 커뮤니티 포크에 대한 접근 요청을 하세요.

  3. 작업할 이슈 선택 또는 생성하세요.

  4. 개발 환경 선택하세요.

  5. 변경 사항을 만들고 Merge Request를 엽니다.

  6. 귀하의 Merge Request가 분류되고 검토된 후 제품에 통합될 수 있습니다.

GitLab 기술

GitLabRuby on Rails 애플리케이션입니다.

HamlVue.js 기반의 자바스크립트 프론트엔드를 사용합니다.

일부 위성 프로젝트는 Go를 사용합니다.

예를 들면:

우리는 코딩 표준에 맞추기 위해 각 기술에 대한 개발 스타일 가이드를 제공합니다.

웹사이트 또는 핸드북에 기여하고 싶다면,

모든 페이지의 바닥글로 가서 페이지 소스 보기를 선택하여 리포지토리에서 페이지를 열 수 있습니다.

이슈 선택 또는 생성

작업할 내용을 알고 있다면, 이슈가 존재하는지 확인하세요.

존재하지 않으면 새 이슈를 열세요.

적절한 템플릿을 선택하고 계획하고 있는 작업에 대한 모든 필요한 정보를 추가하세요.

그러면 더 많은 안내와 지원을 받을 수 있습니다.

작업할 내용을 잘 모르겠다면,

~quick win 라벨이 있는 이슈 보기와,

특히 문서 ~quick win,

백엔드 ~quick win 또는

프론트엔드 ~quick win으로 필터링할 수 있습니다.

작업할 이슈를 찾으면 해당 이슈에 댓글을 남기세요.

이것은 GitLab 팀과 더 넓은 GitLab 커뮤니티의 구성원들이 당신이 그 이슈에서 작업할 것이라는 것을 알리는 데 도움이 됩니다.

이는 이슈를 유효성 검증할 좋은 기회입니다.

이슈가 여전히 유효한지 확인하고, 의도한 접근 방식을 명확히 하고, 기능 또는 변경 사항이 수용될 가능성이 있는지 질문하세요.

작업을 시작하는 데 이슈에 할당될 필요는 없습니다.

이슈에 이미 할당된 사람이 있다면, 그들이 여전히 작업 중인지 또는 협업을 원하는지 물어보세요.

자세한 내용은 이슈 워크플로우를 참조하세요.

커뮤니티에 참여하기

커뮤니티 포크에 대한 접근 요청을 하세요.

기여자 경험을 개선하기 위해 GitLab 저장소에서 미러링된 포크 집합입니다.

커뮤니티 포크에 대한 접근을 요청하면 커뮤니티 온보딩 프로젝트에서 온보딩 문제가 생성됩니다.

자세한 내용은 메타 저장소 README에서 커뮤니티 포크에 대해 읽어보세요.

또한 GitLab Discord 서버에 참여하실 것을 권장합니다.

GitLab 팀원 및 더 넓은 커뮤니티가 귀하의 질문에 답변하고 기여를 위한 지원을 제공할 준비가 되어 있습니다.

개발 환경 선택하기

로컬에서 코드를 작성하고 테스트하려면 로컬 개발 환경을 선택하세요.

  • GitLab Development Kit (GDK)는 즉시 관리되는 GitLab 설치, 샘플 프로젝트 및 기능 테스트를 위한 관리자 접근 권한을 포함하는 로컬 개발 환경입니다.

  • GDK-in-a-box는 GDK를 미리 구성된 가상 머신 이미지에 패키징하여 VS Code로 연결할 수 있습니다.

    GDK-in-a-box를 설정하려면 GDK-in-a-box 구성을 따르세요.

    GDK와 종속성을 설치하려면 GDK 개발 환경 설치의 단계를 따르세요.

  • Gitpod를 사용하여 로컬 하드웨어, 운영 체제 oder 소프트웨어에 관계없이 작동하는 브라우저 내 원격 개발 환경을 제공합니다.

병합 요청 열기

  1. GitLab.com의 커뮤니티 포크로 이동합니다..

    이 메시지가 보이지 않는 경우, 왼쪽 사이드바에서 Code > Merge requests > New merge request를 선택하세요.

  2. 브랜치 이름을 살펴보세요. 커뮤니티 포크에서 master 브랜치로 병합 중이어야 합니다.

  3. 정보를 작성한 후 변경 사항 저장을 선택하세요.

    병합 요청이 완전하지 않아도 걱정하지 마세요.

    GitLab의 누군가가 검토하지 않기를 원하면 초안으로 표시 체크박스를 선택할 수 있습니다.

    요청을 생성한 후에 병합 요청이 마음에 들지 않으면, 닫을 수 있으며, 문제가 발생하지 않습니다.

  4. 이 병합 요청이 만족스럽고 검토 프로세스를 시작하고 싶다면, 댓글에 @gitlab-bot ready라고 입력한 후 댓글을 선택하세요.

    GitLab의 누군가가 귀하의 요청을 살펴보고 다음 단계에 대해 알려줄 것입니다.

    자세한 내용은 병합 요청 워크플로우를 참조하세요.

커뮤니티 병합 요청의 분류 방식

병합 요청을 생성하면, 병합 요청 코치가 관련 검토자를 지정하거나 가능하면 직접 검토를 안내할 것입니다.

목표는 검토자가 지정된 후 1주일 이내에 병합 요청을 검토하는 것입니다.

때때로, 높은 작업량, 휴일 또는 기타 이유로 인해 더 오래 걸릴 수 있습니다.

필요하다면 작성하신 코드 유형을 전문으로 하는 병합 요청 코치를 찾아 병합 요청에서 그들을 언급하세요.

예를 들어, 프론트엔드 코드를 작성한 경우, 프론트엔드 병합 요청 코치를 언급해야 합니다.

코드에 여러 분야가 포함된 경우, 여러 병합 요청 코치를 언급할 수 있습니다.

일정 및 병합 요청에 대한 도움 요청 또는 에스컬레이션 방법에 대한 자세한 내용은 광범위한 커뮤니티 병합 요청 가이드를 참조하세요.

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

리뷰 프로세스

코드를 GitLab에 제출할 때, 우리는 정말로 그것이 병합되기를 원합니다!

하지만, 우리는 제출물을 신중하게 검토하며, 이에는 시간이 필요합니다.

코드 제출물은 일반적으로 두 명의 도메인 전문가에 의해 검토됩니다.

검토 후, 검토자는 저자에게 병합 요청을 업데이트하도록 요청할 수 있습니다.

이 경우, 검토자는 ~"workflow::in dev" 레이블을 설정합니다.

요청된 변경 사항을 포함하여 병합 요청을 업데이트한 후, @gitlab-bot ready로 댓글을 달아 다시 검토할 준비가 되었음을 신호로 알리세요.

이 프로세스는 병합 전에 여러 번 반복될 수 있습니다.

처음 시작하기 전에 기여자를 위한 병합 요청 가이드라인을 읽어보세요.

프리미엄/궁극적 기능에 대한 기업 에디션 라이선스를 사용하여 기여하기

유료 계층 내의 GitLab 기능을 작업하고자 한다면, EE 디렉토리에 있는 코드는 GitLab Enterprise Edition 라이선스가 필요합니다.

문서화된 프로세스에 따라 기업 에디션 개발자 라이선스를 요청하세요.

도움 받기

GitLab에 기여하면서 도움을 받는 방법:

  • 병합 요청 또는 이슈에 댓글로 @gitlab-bot help를 입력하세요.
  • GitLab 커뮤니티 Discord에 참여하고 #contribute 채널에서 도움을 요청하세요.
  • 기여자 성공 팀에 contributors@gitlab.com으로 이메일을 보내세요.