스크랩

구간

Gerrit 코드 리뷰 - acorn+PACKT 시리즈 웹 기반 협업형 온라인 코드 리뷰 시스템

원제 : Learning Gerrit Code Review

루카 밀라네시오 저 | 오명운 역 | 에이콘출판 | 2015년 02월

미리보기 북트리

정가
$36.00
판매가
$26.24 (27%↓) 최저가 보상
적립금
$0.52 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788960776722 / 172쪽 188 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

  • 27,000
  • 22,500
  • 15,120
  • 25,200

책 소개

출판사 리뷰

출판사 서평 ★ 요약 ★ 코드 리뷰는 작성한 소스 코드를 체계적으로 점검하는 활동으로, 소프트웨어의 품질을 높이는 데 대단히 효과적이라는 공감대는 형성되어 있으면서도 실제 실천은 잘 하지 않게 되는 소프트?웨어 개발 활동이다. 이 책에서는 코드 리뷰를 웹 기반의 환경에서 온라인으로 실시할 수 있는 게릿(Gerrit) 코드 리뷰의 소개와 설치 및 설정, 실제 코드 리뷰 활동의 작업 흐름에 대한 실질적인 정보를 얻을 수 있다. ★ 이 책에서 다루는 내용 ★ ■ 게릿의 기본 설치 및 설정 ■ 개발 조직에서 코드 검토의 장점을 극대화하는 방... ★ 요약 ★ 코드 리뷰는 작성한 소스 코드를 체계적으로 점검하는 활동으로, 소프트웨어의 품질을 높이는 데 대단히 효과적이라는 공감대는 형성되어 있으면서도 실제 실천은 잘 하지 않게 되는 소프트웨어 개발 활동이다. 이 책에서는 코드 리뷰를 웹 기반의 환경에서 온라인으로 실시할 수 있는 게릿(Gerrit) 코드 리뷰의 소개와 설치 및 설정, 실제 코드 리뷰 활동의 작업 흐름에 대한 실질적인 정보를 얻을 수 있다. ★ 이 책에서 다루는 내용 ★ ■ 게릿의 기본 설치 및 설정 ■ 개발 조직에서 코드 검토의 장점을 극대화하는 방법 ■ 액티브 디렉토리(Active Directory)처럼 널리 사용되는 LDAP 레지스트리와 게릿을 연동하는 방법 ■ 게릿이 OpenID 인증을 사용하도록 설정하는 방법 ■ 게릿 프로젝트의 보안 사항과 게릿 사용자의 역할 및 권한 확인 ■ 게릿을 깃 SSH나 HTTPS 서버로 사용하는 방법 ■ 아파치 HTTP 리버스 프록시 환경에서 게릿을 설치하는 방법 ■ 동시 변경에 대한 처리와 리베이스 의존 관계 ■ 게릿 코드 검토 라이프사이클의 도입 및 첫 번째 패치 세트 적용 ★ 이 책의 대상 독자 ★ 이 책은 팀 리더, 개발자, 형상 관리 담당자 등 게릿 코드 리뷰를 도입해 조직의 협업을 개선하려는 의지를 지닌 모두를 대상으로 한다. ★ 이 책의 구성 ★ 1장, ‘코드 검토 소개’에서는 게릿 코드 검토의 기초 개념과 용어, 장점, 역할과 개발팀이 준수해야 할 내용을 소개한다. 2장, ‘환경 설정과 시작’에서는 처음으로 샌드박스(sandbox) 환경에서 게릿을 설치하고 설정하는 과정을 상세하게 설명한다. 초기 관리자 계정 저장소 하나를 생성하는 것을 시작으로 첫 번째 변경 검토를 푸시(push)해 본다. 3장. ‘사용자 인증’에서는 사용자 인증과 프로파일 등록을 수행하기 위해 기존의 인증 시스템과 통합하는 방법을 설명한다. 인증 절차가 어떻게 진행하는지 살펴보고 LDAP, OpenID나 다른 서드파티 인증 시스템과 연결하기 위해 어떤 설정이 가능한지 알아본다. 4장, ‘SSH와 HTTPS를 이용한 접근’에서는 SSH나 HTTPS처럼 보안이 강화된 프로토콜을 사용해서 깃 클라이언트로부터의 코드 검토 활동에 대한 게릿의 보안을 강화하는 방법을 설명한다. 5장, ‘프로젝트 권한 설정’에서는 소스 코드 저장소에 대한 역할 기반 접근을 실현하기 위해 프로젝트 템플릿과 그룹을 효과적으로 이용하는 방법을 설명한다. 코드 검토를 위한 프로젝트와 팀을 조직화하기 위해 게릿 권한 조합과 깃의 참조 스펙(ref-specs)의 접근 제어 목록과의 관계에 대해 알아본다. 6장, ‘변경 및 코드 검토 작업 흐름’에서는 게릿에서 코드 검토 작업 흐름이 어떻게 동작하는지 단계별로 차근차근 알아본다. 검토자들끼리 사용하는 용어와 검토자와 기여자가 소통하는 방법에 대해서도 설명한다. 7장, ‘서브밋 유형과 동시성’에서는 검토 과정에서 동시성과 관련하여 발생하는 다양한 상황을 분석하고 게릿으로 어떻게 동시성 문제를 관리하는지 알아본다. 부록 A. ‘깃허브 연동’에서는 게릿을 외부의 깃허브 서버에 어떻게 연결하는지 예제를 통해 알아보고, 게릿 코드 검토 작업흐름과 깃허브를 함께 사용하는 데 필요한 가이드를 제공한다. 부록 B, ‘젠킨스 연동’에서는 검토 단계에서 게릿의 변경 사항을 젠킨스(Jenkins)가 직접 가져와서 검증(validation)을 자동화할 수 있는 방법을 알려준다. 부록 C, ‘깃 기초’에서는 깃 버전 관리 시스템의 개념과 용어에 대한 기초 지식을 알려줌으로써 처음 시작하는 사람이 깃을 쉽게 설정하고 사용할 수 있게 해준다. ★ 저자 서문 ★ 오늘날 소프트웨어를 개발하는 것은 글로벌 규모로 분산되어 진행되는 활동 그 이상이다. 같은 장소에서 일하는 팀에 적합한 애자일 방법론과 개발자들이 더 소셜한 방식으로 공유하고 토론할 수 있는 도구가 필요하다. 리눅스 오픈소스 프로젝트 개발에 사용하기 위해 리누스 토발즈(Linus Torvalds)가 2005년에 설계한 버전 관리 시스템인 깃(Git)이 널리 확산됨에 따라, 개발자들이 더 개방된 방식으로 코드를 개발하고 공유할 수 있게 되었다. 깃허브(GitHub)와 게릿 코드 검토(Gerrit Code Review)는 소셜 코딩 혁명의 초석이 되었고, 가장 성공적인 오픈소스 모바일 운영체제인 안드로이드의 소스 코드 저장소 및 개발에 사용되어 그 성공의 기반이 되었다. 이 책은 애자일 개발팀에서의 코드 검토 작업흐름의 장점을 알아보고, 효율적으로 코드를 검토하기 위한 간단한 절차를 제공한다. 내부 네트워크나 인터넷 환경에서 가장 전형적인 설치 설정으로 게릿을 설치하는 절차를 알려주고, 기존에 사용 중인 인증 시스템이나 지속적 통합 시스템과의 연계를 위한 설정 예제도 포함하고 있다. 이 책을 따라 하면 게릿 서버를 실제 개발팀에 적용할 수 있는 수준으로 완전하게 설정할 수 있게 된다. 게릿과 깃허브를 효율적으로 함께 사용하는 방법을 배워서 깃허브 플랫폼에서 제공하는 협업 도구와 더불어 더 일관성 있게 코드 검토를 수행할 수 있다. 이 두 가지 도구를 함께 사용함으로써 깃허브에 있는 계정을 재사용할 수 있고 여러분이 속한 깃허브의 커뮤니티를 개발 라이프사이클에 통합하여 외부 기여자들과도 협력할 수 있다. 이 책은 개발 과정에서 게릿을 매용 사용하는 데 필요한 설치와 설정 등 모든 것을 알려준다. 협업 및 같은 공간 또는 원격 공간에서의 협업자들의 집합적인 소스 코드 오너십의 개념과 의미에 대해서도 소개한다. ★ 옮긴이의 말 ★ SNS가 발달한 요즘 인터넷에서는 개발자에 대한 유머를 심심치 않게 볼 수 있다. 외국의 괴짜 개발자에 대한 이야기, 열악한 국내 소프트웨어 개발 환경에 한 자조적인 이야기 등 꽤나 다양한 주제에 대한 재미난 이야기를 들을 수 있는데, 그 재미를 관통하는 문맥을 한 가지만 고르라고 하면 ‘개발자의 자부심’을 꼽을 수 있을 것 같다. 코드 리뷰는 아무리 조심스럽게 한다고 할지라도, 자부심 높은 개발자들끼리 서로의 코드에 대해 다양한 의견을 나누다 보면 본질적인 목적보다 그 자부심에 대한 전쟁으로 번지는 경우가 많다. 특히나 활발한 토론보다, 스스로를 낮추며 적극적인 의견 개진을 삼가는 것이 미덕이라고 받아들여지는 국내 분위기상 코드 리뷰가 자리잡기는 더 어려울 수 있다고 본다. 자부심과 관계된 일이라면 직접적인 대면에 의한 의견을 나누는 것보다는 간접적인 방식으로 의견을 나누는 것이 훨씬 더 나은 차선책이 될 수 있다. 게릿 코드 리뷰는 웹을 통해 간접적인 방식으로 가장 구체적이고 실질적인 의견을 나눌 수 있는 환경을 제공해준다. 게릿 코드 리뷰를 프로젝트에서 잘 활용하면 개발자의 자부심을 지키면서도 소프트웨어의 품질을 향상시킬 수 있고, 개발자 스스로도 코드 리뷰를 통해 다양한 의견을 주고받으면서 발전할 수 있다. 이 책은 게릿 코드 리뷰의 소개와 실제 적용을 위한 다양한 환경에서의 설치 및 설정 방법뿐 아니라, 실제 코드 리뷰 활동 진행에 필요한 권장 작업 흐름과 개발자의 자부심을 해치지 않는 코드 리뷰 에티켓까지 실질적인 정보를 전달해주고 있다. 이 책을 통해 코드 리뷰가 소프트웨어 개발 과정에서 선택이 아닌 필수 활동으로 자리잡을 수 있기를 기대한다.

저자 소개

기업을 위한 깃(Git)과 게릿(Gerrit) 경쟁력 제고 분야의 선두를 달리고 있는 게릿포지(GerritForge)의 임원이자 공동설립자다. 전 세계의 대형 엔터프라이즈 솔루션 개발에서 개발 관리, 소프트웨어 형상 관리, 소프트웨어 개발 생명주기 분야에서 20년 이상의 현장 실무 경험을 가지고 있다. 게릿포지를 설립하기 전에는 이태리와 영국 등지에 있는 프리미어(Primeur) 사의 전자결제를 위한 보안과 준수 플랫폼을 담당하는 기술 고문 및 제품 수석 임원을 역임했다. 게릿포지 창업 이후에는 게릿 커뮤니티에 기여하면서 세계적인 주요 통신, 은행 및 산업 분야를 포함한 대형 엔터프라이즈 개발에 적용 가능한 코드 검토 작업 흐름을 도입했다.
깃을 대형 엔터프라이즈 개발에 확장하여 쓸 수 있도록 깃의 16가지 패턴과 안티패턴을 정리한 필수 가이드인 『Git and Anti-Patterns(깃 패턴과 안티패턴)』의 저자이기도 하다. 이 책에서는 하이브리드 SCM, 깃 챔피언, 축복받은 저장소, 기능별 토픽 브랜치, 애플리케이션 라이프사이클 관리(ALM, Application Lifecycle Management) 등의 패턴을 설명한다.


 

역자 소개

백발 개발자를 꿈꾸며 언제나 버그와 씨름하는 개발자다. 번역을 통해 개발자 생태계에 조금이라도 기여하고자 노력한다. 옮긴 책으로는 에이콘출판사에서 펴낸 『D3.js 실시간 데이터 시각화』(2015), 『Gerrit 코드 리뷰』(2015), 『d3.js를 이용한 데이터 시각화』(2014)가 있다.

머리말

★ 저자 서문 ★
오늘날 소프트웨어를 개발하는것은 글로벌 규모로 분산되어 진행되는활동 그 이상이다. 같은 장소에서일하는 팀에 적합한 애자일 방법론과개발자들이 더 소셜한 방식으로 공유하고토론할 수 있는 도구가 필요하다.

리눅스 오픈소스 프로젝트 개발에 사용하기위해 리누스 토발즈(Linus Torvalds)가 2005년에 설계한 버전 관리 시스템인 깃(Git)이 널리 확산됨에 따라, 개발자들이 더 개방된 방식으로 코드를 개발하고 공유할 수 있게 되었다. 깃허브(GitHub)와 게릿 코드 검토(Gerrit Code Review)는 소셜 코딩 혁명의 초석이 되었고, 가장 성공적인 오픈소스 모바일 운영체제인 안드로이드의 소스 코드 저장소 및 개발에 사용되어 그 성공의 기반이 되었다.

이 책은 애자일 개발팀에서의 코드 검토 작업흐름의 장점을 알아보고, 효율적으로 코드를 검토하기 위한 간단한 절차를 제공한다. 내부 네트워크나 인터넷 환경에서 가장 전형적인 설치 설정으로게릿을 설치하는 절차를 알려주고, 기존에 사용 중인 인증 시스템이나 지속적 통합 시스템과의 연계를 위한 설정 예제도 포함하고 있다. 이 책을 따라 하면 게릿 서버를 실제 개발팀에적용할 수 있는 수준으로 완전하게 설정할 수 있게 된다.

게릿과 깃허브를 효율적으로 함께 사용하는방법을 배워서 깃허브 플랫폼에서 제공하는협업 도구와 더불어 더 일관성 있게 코드 검토를 수행할 수 있다. 이 두 가지 도구를 함께 사용함으로써 깃허브에 있는 계정을 재사용할 수 있고 여러분이 속한 깃허브의 커뮤니티를 개발 라이프사이클에 통합하여 외부 기여자들과도 협력할 수 있다.

이 책은 개발 과정에서 게릿을 매용 사용하는 데 필요한 설치와 설정 등 모든 것을 알려준다. 협업 및 같은 공간 또는 원격 공간에서의 협업자들의 집합적인 소스 코드 오너십의 개념과 의미에 대해서도 소개한다.



★ 옮긴이의 말 ★
SNS가 발달한 요즘 인터넷에서는 개발자에대한 유머를 심심치 않게 볼 수 있다. 외국의 괴짜 개발자에 대한 이야기, 열악한 국내 소프트웨어 개발 환경에 한 자조적인 이야기 등 꽤나 다양한 주제에 대한 재미난 이야기를 들을 수 있는데, 그 재미를 관통하는 문맥을 한 가지만 고르라고 하면 ‘개발자의 자부심’을 꼽을 수 있을 것 같다.

코드 리뷰는 아무리 조심스럽게 한다고 할지라도, 자부심 높은 개발자들끼리서로의 코드에 대해 다양한 의견을 나누다 보면 본질적인 목적보다 그 자부심에 대한 전쟁으로번지는 경우가 많다. 특히나 활발한 토론보다, 스스로를 낮추며 적극적인의견 개진을 삼가는 것이 미덕이라고 받아들여지는 국내 분위기상 코드 리뷰가 자리잡기는 더 어려울 수 있다고 본다.

자부심과 관계된 일이라면 직접적인대면에 의한 의견을 나누는 것보다는간접적인 방식으로 의견을 나누는 것이 훨씬 더 나은 차선책이 될 수 있다. 게릿 코드 리뷰는 웹을 통해 간접적인 방식으로 가장 구체적이고 실질적인의견을 나눌 수 있는 환경을 제공해준다. 게릿 코드 리뷰를 프로젝트에서 잘 활용하면 개발자의 자부심을 지키면서도 소프트웨어의 품질을 향상시킬 수 있고, 개발자 스스로도 코드 리뷰를 통해 다양한 의견을 주고받으면서 발전할 수 있다.

이 책은 게릿 코드 리뷰의 소개와 실제 적용을 위한 다양한 환경에서의 설치 및 설정 방법뿐 아니라, 실제 코드 리뷰 활동 진행에 필요한 권장 작업 흐름과 개발자의 자부심을 해치지 않는 코드 리뷰 에티켓까지 실질적인정보를 전달해주고 있다. 이 책을 통해 코드 리뷰가 소프트웨어 개발 과정에서선택이 아닌 필수 활동으로 자리잡을 수 있기를 기대한다.


목차

목차
1 코드 검토 소개
__코드 검토의 장점
____빌드 안정성
____지식 공유
____외부로부터의 신속한 피드백
____코드 스타일의 공유
____팀 참여
____품질 중심의 코드 선택
__코드 검토 역할
____기여자?
____검토자
____커미터
____관리자
____리뷰 레이블과 역할 설정
__검토 용어와 작업 흐름
____프로젝트
____변경
____코드 검토 표식
____변경 제출
____변경 병합
____변경 폐기
__정리
2 환경 설정과 시작
__사전 준비 요건
__게릿 다운로드
__게릿 초기 설정
____설치 완료
__로그인과 사용자 프로파일 생성
__깃 사용을 위한 HTTP 비밀번호 생성
__첫 번째 프로젝트 생성 및 저장소 복제
__정리
3 사용자 인증
__게릿 사용자 인증 작동 원리
____깃과 게릿 UI 인증
____게릿 내부 계정
__인터넷을 통한 OpenID 인증
__OpenID 싱글 사인 온
__내부 네트워크에서의 게릿 인증
__LDAP 설정
____읽기 전용 LDAP 사용자 정보
__액티브 디렉토리
__서드파티 인증 옵션
____예제: 아파치 HTTP 리버스 프록시
____리버스 프록시와 게릿 설정
____게릿 HTTP 인증 활성화
____사용자 정보 검색
__정리
4 SSH와 HTTP를 이용한 접근
__강력한 보안 설정 적용
__Bouncy Castle Security 설치
__SSH의 사용
____깃/SSH 클라이언트 키
____게릿 사용자 프로파일에 SSH 키 등록
____깃/SSH를 통한 저장소 복제
__HTTPS 활성화
____HTTP/S 리버스 프록시
____게릿의 HTTP/S 지원
__정리
5 프로젝트 권한 설정
__게릿 권한 구조 이해
__프로젝트 권한 설정
____전체 프로젝트 권한
____깃과 게릿 레퍼런스
____깃 권한
____코드 검토 권한
__그룹 관리
____사용자 생성 그룹
____외부 그룹(그룹 백엔드)
__효율적으로 그룹 계층 사용
__프로젝트 보안 템플릿
__정리
6 변경 및 코드 검토 작업흐름
__게릿 코드 검토 역할 및 작업흐름
____단계별 검토 작업흐름
________역할
________작업흐름 10단계
__코드 검토를 위한 게릿 브랜치 이름 공간
__토픽 설정
__검토자 추가
__검토 레이블
____검토
__검토 의견과 변경에 대한 평가
____검토 예절
____검토 공개 및 평가
__검토 중인 코드의 수정
__정리
7 서브밋 유형과 동시성
__서브밋 유형
____패스트 포워드만 허용
____필요 시 리베이스
____필요 시 머지/언제나 머지
____체리 픽
__동시성을 고려한 코드 리뷰
____변경 의존성 추적
____게릿의 변경 의존성 실무
____게릿 의존성 그래프
____변경 그래프 갱신 관리
__정리
부록 A 깃허브와 연동
__깃허브 작업 흐름
____깃허브 논란
__깃허브 인증
____깃허브 플러그인 빌드
____깃허브 OAuth 라이브러리 설치
____깃허브 플러그인 설치
____게릿을 깃허브 OAuth 애플리케이션으로 등록
________깃허브 OAuth 설정을 위한 게릿 초기 설정 실행
____게릿 사용을 위한 깃허브 로그인
__깃허브로의 복제
____게릿 복제 플러그인 설정
____깃허브에 푸시하기 위한 게릿 인증
____게릿 복제 실행
____검토 및 깃허브 브랜치 머지
__gerrithub.io에서 게릿과 깃허브 사용
__정리
부록 B 젠킨스 연동
__젠킨스와 게릿의 작업 흐름
__젠킨스 게릿 플러그인 설치
____젠킨스 플러그인 설치
____게릿 트리거 플러그인
________젠킨스 연동을 위한 게릿 설정
________게릿 트리거 플러그인 설정
__게릿을 통한 빌드 트리거
____게릿 트리거 설정
____깃 플러그인 설정
__코드 검증 자동화
__정리
부록 C 깃 기초
__P2P 분산 버전 관리 시스템
__깃 설치
____저장소 생성
____깃에 파일 추가
____저장소 이력 확인
____파일 편집 및 변경
__깃의 기초 개념
__깃 브랜치
__패스트 포워드, 머지, 리베이스, 체리 픽
__원격 저장소
____원격 저장소로 브랜치 푸시
____원격 저장소에서 가져오기
__정리

top