개발/gerrit/셋업
gerrit 설정하기
시작하기 전에: 문제 해결 도움말
아래 지시 사항들은 따라하기 쉽고 빨라야 합니다. 그러나, 만약 어딘가에서 꼼짝못하게 된다면, 여기서 도움을 받을 수 있습니다.
- Freenode의 #libreoffice-dev IRC://를 통해
- mailing list에 이메일을 통해
Gerrite에 처음 등록하기
Gerrit은 사용자 인증에 The Document Foundation's Single Sign-On 서비스를 사용합니다. 만약 아직 계정이 없을 경우 (본 위키를 비롯한 다른 여러 사이트에서도 이를 사용합니다.) 계정 생성하기가 가능합니다. 이후 gerrit에 방문해 페이지 오른쪽 상단의“Sign in”링크를 클릭합니다. 당신은 우리의 중앙 인증 포탈로 리다이렉트 될 것이고, 인증이 완료된 후에는 다시 Gerrit 사이트로 되돌아올 것입니다.
Gerrit 세팅하기 - 쉬운 방법
만약 libreoffice/core를 이미 체크아웃 한 경우, 자동적으로 키를 설정하고 ssh를 구성할 수 있는 ./logerrit setup
를 실행할 수 있습니다, 그리고 만약 그럴 수 없는 경우에는, 다음 단계를 안내합니다: 필요한 경우 단계를 따르세요.
프로그램에서는 https://gerrit.libreoffice.org 으로 이동해 로그인하면 자동적으로 당신의 계정을 우리의 [Infra/SingleSignOn| Single Single-On 시스템]에 제공하도록 할 것입니다. 프로그램은 또한 SSH을 위한 키 쌍을 생성하고 공개키 부분을 인쇄합니다. (이는, /home/[username]/.ssh/id_rsa.pub
의 내용입니다.)
이것은 'ssh-rsa'로 시작하는 길고 무작위로 보이는 문자열입니다. 이를 당신의 설정 페이지에 추가해야만 커맨드창에서 gerrit가 작동할 것입니다.
만약 ./logerrit test
가 실패하고 ssh -vvv logerrit
가 ~/.ssh/config
권한이 없음을 알린다면, chmod 600 ~/.ssh/config
을 실행하세요.
세부적이고 핵심적인 설정 항목
Gerrit 세팅하기 - 메뉴얼 방법
- https://gerrit.libreoffice.org을 방문해서 페이지 오른쪽 상단의“Sign in”을 클릭합니다. Single Single-On portal에서 돌아왔다면 계정은 자동적으로 풀네임, 초기 이메일 주소, 당신의 SSO 프로필에서 찾은 사용자 이름을 제공했을 것입니다. 만약 사용자 인증이 거부되었을 경우 Infrastructure Team에 연락해주세요; 이는 아마도 수동으로 해결 가능한 충돌 (사용자 이름이나 이메일 주소가 다른 계정에서 사용되고 있다든가) 때문에 벌어졌을 것입니다.
- gerrit에 있는 당신의 사용자 이름을 기록해두세요. profile settings. 이 사용자 이름이
YOUR_USERNAME_HERE
에 언급됩니다. - gerrit을 위해 Generate an SSH keypair를 하고 (당연히 존재하는 키를 재사용할 수 있습니다) 공개 키 부분을 settings page에 업로드하세요. 사용자는 사용자 이름과 SSH key로 연결됩니다.
- 다음 항목을 당신의
${HOME}/.ssh/config
에 추가하세요:
Host logerrit gerrit.libreoffice.org
IdentityFile <span lang="en" dir="ltr" class="mw-content-ltr">/path/to/your/private-key</span>
User <span lang="en" dir="ltr" class="mw-content-ltr">YOUR_USERNAME_HERE</span>
Port 29418
HostName gerrit.libreoffice.org
/path/to/your/private-key
은 반드시 파일 이름을 포함해야 함을 기억하세요. 예를 들어: ~/.ssh/id_rsa
git config remote.origin.pushurl ssh://logerrit/core
cd .git/hooks && ln -s ../../.git-hooks/* ./
이제 푸시!
보기: 패치를 제출하는 방법
Other repositories
Other repositories than core might not have a ./logerrit
file. If you already are setup on gerrit for the core repository, you only need to make sure the other repository pushes to the right repository, with the right target.
For example, if you cloned the infra/devcentral
repository, first add the correct remote to your local copy:
git config remote.origin.pushurl ssh://logerrit/infra/devcentral
Then, push to the correct target for code review:
git push origin HEAD:refs/for/refs/heads/master