Gerrit 코드 리뷰 [웹 기반 협업형 온라인 코드 리뷰 시스템]
- 원서명Learning Gerrit Code Review (ISBN 9781783289479)
- 지은이루카 밀라네시오(Luca Milanesio)
- 옮긴이오명운
- ISBN : 9788960776722
- 18,000원
- 2015년 02월 17일 펴냄 (절판)
- 페이퍼백 | 172쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 오픈소스 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
코드 리뷰는 작성한 소스 코드를 체계적으로 점검하는 활동으로, 소프트웨어의 품질을 높이는 데 대단히 효과적이라는 공감대는 형성되어 있으면서도 실제 실천은 잘 하지 않게 되는 소프트웨어 개발 활동이다. 이 책에서는 코드 리뷰를 웹 기반의 환경에서 온라인으로 실시할 수 있는 게릿(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, ‘깃 기초’에서는 깃 버전 관리 시스템의 개념과 용어에 대한 기초 지식을 알려줌으로써 처음 시작하는 사람이 깃을 쉽게 설정하고 사용할 수 있게 해준다.
목차
목차
- 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 분산 버전 관리 시스템
- 깃 설치
- 저장소 생성
- 깃에 파일 추가
- 저장소 이력 확인
- 파일 편집 및 변경
- 깃의 기초 개념
- 깃 브랜치
- 패스트 포워드, 머지, 리베이스, 체리 픽
- 원격 저장소
- 원격 저장소로 브랜치 푸시
- 원격 저장소에서 가져오기
- 정리