쿠버네티스 컨트리뷰터 되기
3000명 가까이 되는 사람들중 내가 끼어있다면?..
쿠버네티스의 깃허브에서 website 레파지토리는 공식문서의 코드들을 담고있습니다.
https://github.com/kubernetes/website(쿠버네티스 웹사이트 깃허브 레파지토리)
레파지토리를 fork 한 다음에 번역이 되지 않은 페이지를
번역해서 컨트리뷰터가 되보겠습니다.
쿠버네티스 웹사이트 레파지토리에는 많은 브랜치들이 있습니다.
그 중 저희가 건드릴 브랜치는 dev-1.18-ko.10 이라는 이름의 브랜치입니다.
뒤에 ko는 korea를 의미합니다.(브랜치는 버전마다 계속 바뀝니다.)
https://kubernetes.io/ko/docs/contribute/(쿠버네티스 문서에 기여하기)
CNCF 동의서 서명
컨트리뷰터가 되기 위해서는 CNCF 라는 동의서에 서명을 해야합니다.
https://github.com/kubernetes/community/blob/master/CLA.md(CNCF)에 접속을 합니다.
그럼 아래와 같은 README.md 파일이 보일텐데
저희는 개인이기 때문에 Individual signup 으로 접속해줍니다.
저기서도 Sign up to contribute to this project as an individual
로 접속하여 계정을 생성합니다.
계정을 생성한 다음 깃허브와 연동을 하기위해
Add more identities 아래에 있는 깃허브 마크를 클릭해줍니다.
(깃허브에 로그인 되어있어야 합니다.)
그러면 깃허브와 연동을 할 수 있습니다.
그러면 아까 CNCF에 회원 가입을 할 때 입력했던 이메일로 확인 이메일이 갑니다.
그러면 이메일에 이런 메일이 도착하면
REVIEW & SIGN 버튼을 클릭하여 서명을 시작합니다.
영문으로 된 주소를 요구합니다. 아래의 사이트에 들어가서 집주소의 영문 주소를 확인하고 입력해줍니다.
http://www.apt4.kr/postalcodes/kr/영문명 주소 찾기
그리고 다음 화면에는 서명이 나오는데 그냥 마우스로 서명을해서 다음을 클릭하면
다음과 같이 화면이 뜨고 성공적으로 서명이 되었습니다.
다시 CNCF 홈페이지를 확인해보면
다음과 같이 잘 입력이 되어있습니다.
그러고 몇 분뒤에는 성공적으로 서명이 되었다는 메일이 날라옵니다.
한글화 작업
이제 본격적으로 한글화 작업을 시작해보겠습니다.
https://kubernetes.io/ko/docs/contribute/localization_ko/
우리가 아까 보았던 브랜치에서 파일들을 다운받고
저는 reference에 scheduling에서 policies가 번역이 안되어있길래
그 부분을 번역하려고 합니다.
우선 영문으로 되어있는 policies md 파일을 확인합니다.
이것을 보고 한글화를 진행해줍니다.
저는 VScode로 진행하였습니다.
약 4시간? 정도 걸렸던 것 같습니다.
Create pull request 를 클릭해서 풀리퀘스트를 보내봅시다.
Website 레파지토리에서 전체적인 풀리퀘스트 목록 제일 위에
제가 올린 풀리퀘스트가 올라와있습니다.
저도 풀리퀘스트가 처음이라
처음 봤을 때 무슨 말인지 몰랐는데
/assign @ianychoi 명령어를 통해서
@ianychoi 라는 리뷰어를 등록을 해야한다고 합니다.
그러면 저 분께서 제가 번역한 글들을 리뷰를 해주시고,
수정사항 같은 것들을 말씀해주시면, 제가 그것을 다시 반영을 하고
최종적으로 Approved 되면 풀리퀘스트가 끝나는 것입니다.
풀리퀘스트를 올리고 다음 날..
어느 한 컨트리뷰터가 제가 번역한 것을 보고추가하면 좋을 것 같은 것을 리뷰해주었습니다.
그래서 반영을 해주고, Commit을 하였습니다.
새로 Commit을 하면 다시 Check를 받아야 합니다.
Check를 기다리고, 끝이나면 assign을 통해서 review를 해주실 분을 할당해보겠습니다.
봇이 ianychoi 분을 리뷰어로 등록을 하라고해서,
제가 comment를 남기면서 등록까지 했습니다!
그리고 일주일 뒤.. 8월 31일!
새로운 브랜치가 생성되었다고 하시고, 스쿼시 방법도 같이 올려주셨습니다.
저는 그냥 새로운 PR을 만들고 거기에 리뷰내용들을 전부 반영하는 식으로 진행하였습니다.
1.19ver 브랜치에 PR을 올리고
전에 생성했던 PR에 제가 어떻게 했는지 남겼습니다!
여러 가지 수정사항들을 얘기해주셔서 그렇게 반영을 하였습니다.
그리고 수정을하고 메인 commit 내용을 제외하고는 squash 작업을 해주어야 합니다.
$ cd website
$ git rebase -i HEAD~2
// 첫 번째 파일에서 두 번째 pick을 squash로 변경 후 파일 저장(:x or :wq)
// 두 번째 파일에서 "Translate reference/scheduling/policies.md in Korean" 만 남기고 나머지는 모두 # 처리 후 파일 저장(:x or :wq)
$ git push origin dev-1.19-ko.1 --force-with-lease
squash 작업은 위와 같이 해주면 된다고 그래서 그대로 따라했습니다.
커밋 내용을 메인 커밋내용 말고 전부 주석처리!
(깔끔하게 하기 위해서)
그리고 스쿼시를 하는 이유는
마스터에 머지되었을 때 커밋내용이 하나만 보이도록
정리를 위해서 스쿼시를 해주는 것 입니다.
그렇게 여러 번의 수정사항들을 거친 다음..
담당자분의 /lgtm 태그가 적혀지면
다음 master로의 merge에서 저의 컨트리뷰트가 올라가면
저도 쿠버네티스의 컨트리뷰터가 된 것 입니다..
/lgtm는 look good to me 라는 뜻이랍니다.
'Kubernetes & Docker' 카테고리의 다른 글
[Kubernetes]쿠버네티스 CI/CD에 대해서 (0) | 2020.08.24 |
---|---|
[Kubernetes]쿠버네티스 설치부터 배포까지(kubespray 이용) (0) | 2020.08.21 |
[Kubernetes 공식문서 파헤치기] 고가용성 테스트(pod 부하분산, auto scaler 적용하기) (2) | 2020.08.13 |
[Kubernetes 공식문서 파헤치기] Redis를 사용한 PHP 방명록 애플리케이션 배포하기 + PV, PVC, Affinity 사용해보기 (0) | 2020.08.10 |
[O'REILLY] 쿠버네티스 패턴 (Kuerbernetes Patterns) (0) | 2020.08.10 |