더북(TheBook)

ShinJaehun이 vm01.linuxmaster.com에서 수정한 내용을 원본 저장소(upstream)에 반영하려면 어떻게 해야 할까? 우선 vm01에서 매니페스트 파일 ‘site.pp’를 vi로 열어 전체 시스템에 vim_upgrade 모듈을 포함시켜보자.

node /^vm[0-9]+\.linuxmaster\.com$/ {
   include vim_upgrade
   include sshd
}

변경된 파일을 추가하고 커밋한다.

administrator@vm01:~/puppet_vm$ git add manifests/site.pp
administrator@vm01:~/puppet_vm$ git commit -m 'Added vim_upgrade module to every systems.'
[master 0714ca3] Added vim_upgrade module to every systems.
1 file changed, 1 insertion(+), 1 deletion(-)

git push 명령으로 변경된 내용을 origin에 전송한다.

administrator@vm01:~/puppet_vm$ git push origin master
Username for 'https://github.com': ShinJaehun
Password for 'https://ShinJaehun@github.com': ********
To https://github.com/ShinJaehun/puppet_vm.git
   bd228db..0714ca3 master -> master

깃허브의 포크한 저장소(ShinJaehun/puppet_vm)에 접속해서 왼쪽에 있는 초록색 버튼을 클릭한다. 이 버튼은 풀 리퀘스트 pullrequest로 원본 저장소에 바뀐 부분을 밀어 넣기 pull위한 요청 request을 처리한다.

그림 11-25 원본 저장소에 변경된 내용 적용 요청하기

원본 저장소와 비교해서 새로운 커밋(Added localmail module to whole systems)이 생성되었으며 수정한 부분도 확인할 수 있다. <Create pull request> 버튼을 클릭한다.

그림 11-26 풀 리퀘스트 생성하기

다른 사용자에게 자신이 변경한 부분을 설명하는 글을 남긴다. <Create pull request> 버튼을 클릭한다.

그림 11-27 풀 리퀘스트 내역 작성하기

원본 저장소를 관리하는 사용자 계정 jaehun-shin으로 로그인하면 풀 리퀘스트 요청이 들어온 사실을 확인할 수 있다. 오른쪽에 있는 ‘Pull requests’ 링크를 클릭해보자.

그림 11-28 풀 리퀘스트 확인하기

ShinJaehun 사용자가 보낸 풀 리퀘스트(Added vim_upgrade module to whole systems)가 도착했다. 링크를 클릭하면 자세한 정보를 확인할 수 있다.

그림 11-29 다른 사용자의 풀 리퀘스트 확인하기

풀 리퀘스트를 요청한 사용자의 설명이나 변경된 파일의 내용을 확인할 수 있으며, 관련하여 답변을 쓸 수도 있다. 물론 해당 변경 사항이 적절하지 않다면 풀 리퀘스트를 반영하지 않을 수도 있다. 해당 요청을 원본 저장소에 반영하기로 결정했으면 <Merge pull request>를 클릭한다.

그림 11-30 변경 요청을 원본 저장소에 반영하기

문제가 없다고 판단되면 <Confirm merge>를 클릭해서 변경된 내용을 병합한다.

그림 11-31 변경된 내용 병합하기

이제 원본 저장소의 파일 ‘site.pp’의 내용을 살펴보면, 풀 리퀘스트가 병합되어 반영된 사실을 확인할 수 있다.

그림 11-32 풀 리퀘스트로 반영된 내용 확인하기

그림 11-33은 다른 사용자가 수정한 내용을 원본 저장소에 반영하는 절차를 보여준다. 변경된 내용을 git push 명령으로 포크한 원격 저장소 ShinJaehun/puppet_vm에 전송했다. 깃허브의 풀 리퀘스트 기능으로 원본 저장소의 관리자에게 변경 내용을 반영해달라고 요청했다. 원본 저장소의 관리자는 변경 내용을 검토하고 변경 내용을 병합했다.

그림 11-33 다른 사용자가 변경한 내용 원본 저장소에 반영하기
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.