오픈스택을 공부하면서 간단한 철자 오류를 수정하고 싶어서 github에 올렸더니 contributor가 되려면 그냥 PR 하는 방법이 아닌 여러가지 단계를 거치길래 직접 시도해 본 내용을 글로 남긴다.
처음에는 일반적인 github 방식대로 Fork 한 뒤에 수정해서 PR을 했더니 PR 글 밑에 아래와 같은 답변을 줬다.
Thank you for contributing to openstack/cinder!
openstack/cinder uses Gerrit for code review.
If you have never contributed to OpenStack before make sure you have read the getting started documentation: http://docs.openstack.org/infra/manual/developers.html#getting-started
Otherwise please visit http://docs.openstack.org/infra/manual/developers.html#development-workflow and follow the instructions there to upload your change to Gerrit.
그래서 설명대로 링크를 찾아가 봤다. 그랬더니...
뭔가 엄청 많고 불친절한 영어의 압박...
내용을 읽어보면 우선 lunchpad
에 계정을 등록하라고 한다.
contributer 를 위해서는 코드리뷰를 해야 하는데 코드리뷰 시스템에 사용되는 계정이 open id 를 이용하기 때문에 그걸 등록해야 한다.
lunchpad 링크로 이동해서 회원가입하자
회원가입도 했으면 이제 https://review.openstack.org/ 로 이동하자.
여기 가서 오른쪽 상단을 보면 로그인 할 수 있게 되어있다. open id
에 로그인이 된 상태면 손쉽게
로그인이 가능하다.
순서대로 진행하면 된다.
- 로그인 후에 오른쪽 상단의 이름을 선택하면
setting
버튼이 있다. 선택하자 setting
화면에서profile
탭에username
을 등록하자.contact information
은 내 개인정보를 등록하면 된다.ssh public keys
탭으로 이동해서 공용키를 등록한다. 없으면 터미널에서ssh-keygen
을 실행하면 된다.
(*공용키 생성부터 등록까지의 방법도 해당 탭에 "How to Generate an SSH Key" 라는 이름으로 잘 설명되 있다.)
Agreements
탭으로 이동해서 개인용 인증 라이센스를 발급 받으면 코드리뷰를 위한 기본 계정 생성 작업은 끝난다.
그 다음 부터는 맨 위에서 나온 getting-started 가이드를 보면서 다시 진행한다.
git config --global user.name xxxxx
어쩌고 라고 나오는 명령어 위치부터 시작한다. 설명 그대로 진행해서 git 전역 환경설정에 이름과 주소를 등록한다.
여기까지 했으면 이제 git-review
를 설치하자 설치 방법은 자신의 환경 및 선호도에 따라서 다양하게 나와있다.
이제 여기 까지 잘 됬는지 확인을 해보자 아래의 명령어를 터미널에서 입력해 보자
아래에서 나오는 작업들은 모두 터미널에서 작업을 했다.
ssh -p 29418 {username}@review.openstack.org
{username}
위치에는 아까 코드리뷰 등록할때 만든 username
을 등록해야 한다.
잘됬으면 Welcome 어쩌구 저쩌구 하는
환영의 메시지가 나온다.
그럼 이제 원하는 프로젝트를 골라서 git으로 다운받으면 된다.
git clone ssh://{username}@review.openstack.org:29418/{repo project name}
내가 원하는 프로젝트 이름을 입력했는데 안되면 해당 링크 로 들어가서 검색해 보자.
해당 repo를 다운받은 뒤에 디렉토리로 이동해서
git review -s
명령어를 입력하면, 공용키 비밀번호를 입력하라고 나올거다.
만약, 에러가 발생하면
git remote add gerrit ssh://{username}@review.openstack.org:29418/{repo project name}
를 입력해서 추가해주면 된다.
그 이후에는 아래의 명령어 입력
git remote update
우선 브랜치를 새로 생성해서 작업해 보자. 링크 참조
git checkout -b {브랜치명}
브랜치 명은 보통 bp/내용
형태로 하는듯 한데, review 사이트를 가보면 각각 다르다.
최대한 링크의 설명대로 맞춰서 작성.
코드를 다 수정했으면 그 이후에는
git commit -a
를 통해서 수정된 내역을 커밋. 커밋 로그 작성 방식은 위의 링크를 참조하자.
커밋을 하였으면 git show
명령어를 이용하여 커밋이 됬는지 확인 후 git review
명령어를 실행하면 된다.
그런데 아래와 같은 에러가 나오는 경우가 있다.
fatal: ICLA contributor agreement requires current contact information.
Please review your contact information:
https://review.openstack.org/#/settings/contact
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
이런 경우는 openstack review 사이트의 setting
항목에서 contact inforamtion
이 등록되어 있지 않아서 그런 경우로
해당 경로로 이동해서 간단하게 메일주소와, 국가를 입력해서 저장하면된다.
아무문제 없이 저장이 된경우 git review
명령어를 실행하면
remote: Processing changes: new: 1, refs: 1, done
remote:
remote: New Changes:
remote: https://review.openstack.org/xxxxxx your commit msg
remote:
To ssh://yourname@review.openstack.org:29418/openstack/cinder
* [new branch] HEAD -> refs/publish/master/bp/branch
위와 같은 이런저런 review사이트에 등록되었다는 메시지가 나온다.(개인내용은 임의로 수정했습니다.)
하지만 contact information
저장에서 Code Review - Error server error
에러가 나온다면 해당 링크를 참조하자.
openstack.org에서 계정이 등록되어있지 않아서 그렇다. review 사이트와 동일한 email 주소로 등록을 해주자.
git review
실행 후 나온 review사이트 주소로 들어가면 본인이 등록한 review글이 보이고, 처음 등록한 경우에는
reviewers 명단에 Welcome, new contributor!
라는 메시지가 나온다.
성공적으로 작동 후 결과가 나오는 데는 시간이 좀 걸린다.
다시 수정해야 하는 경우.
review시스템에 등록한 상태에서 다른 CI들과 함께 jenkins가 테스트를 한 뒤 승인을 하는데,
테스트에서 실패가 발생하는 경우 코드를 다시 수정해서 올릴 수 있다.
에러가 난 코드를 확인 한 뒤 git commit -a --amend
명령어를 이용해서 다시 커밋하고,
git review
로 review시스템에 다시 등록하면 된다.
'IT/프로그래밍' 카테고리의 다른 글
Ubuntu 14.04에 MariaDB 설치 및 python연결 (1) | 2015.09.03 |
---|---|
IE8 설치 후 Visual Studio2008에서 에러 발생하는 문제!~ (2) | 2009.05.10 |
IronPython 한글판에서 사용하는 법!.. (0) | 2009.05.03 |