젠킨스 2 시작하기 [개발 파이프라인 자동화의 한 단계 도약]
- 원서명Jenkins 2: Up and Running: Evolve Your Deployment Pipeline for Next Generation Automation (ISBN 9781491979594)
- 지은이브렌트 래스터(Brent Laster)
- 옮긴이이상욱
- ISBN : 9791161752815
- 45,000원
- 2019년 03월 29일 펴냄
- 페이퍼백 | 720쪽 | 188*235mm
- 시리즈 : 웹 프로페셔널
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
최근 소프트웨어 개발 업계에서 지속적인 통합을 위해 사용하는 도구 중, 표준으로 자리잡은 젠킨스는 최근 2.0 버전 배포로 큰 변화를 맞이했다. 이 책은 젠킨스 2.0 버전에서 새롭게 추가된 기능을 심도 있게 다루고, 실무에서 발생할 만한 상황에 다양한 해결책을 제시해 독자가 실전에서 새로운 젠킨스를 효과적으로 사용할 수 있게 도와줄 것이다.
이 책에서 다루는 내용
█ 젠킨스에서 코드를 사용해 지속적 배포 파이프라인 생성
█ 기존 잡과 파이프라인 변환
█ 접근과 보안을 제어하기 위한 최적화된 방식
█ 공유 파이프라인 라이브러리의 구조, 코딩 및 사용법
█ 서술적 방식과 스크립트 방식 중 적합한 것을 선택하는 기준 탐구
█ 젠킨스의 새로운 타입과 기존 타입 분석
█ 새로운 블루 오션 인터페이스 마스터
█ 파이프라인이 동작되는 OS 활용
█ 분석 도구, 아티팩트 관리자 및 컨테이너 통합
이 책의 대상 독자
지속적 통합과 자동 배포, 데브옵스 및 젠킨스에 대한 지식을 갖고 있으며 새로운 젠킨스 기능을 활용하는 방법에 관심이 많은 개발자를 대상으로 한다.
목차
목차
- 1장. 젠킨스 2 소개
- 젠킨스 2란?
- Jenkinsfile
- 서술적 파이프라인
- 블루 오션 인터페이스
- 젠킨스 2의 새로운 잡 타입
- 변화의 이유
- 데브옵스로의 변화
- 파이프라인 조립
- 재실행성
- 설정 용이성
- 워크스페이스 공유
- 로직에 대한 접근
- 파이프라인 소스 관리
- 경쟁
- 도전에 대한 직면
- 호환성
- 파이프라인 호환성
- 플러그인 호환성
- 재시작
- 호환성 확인
- 요약
- 젠킨스 2란?
- 2장. 기본 개념
- 문법: 스크립트 방식의 파이프라인 대 서술적 파이프라인
- 스크립트 방식의 파이프라인과 서술적 파이프라인 중 선택
- 시스템: 마스터, 노드, 에이전트, 엑시큐터
- 마스터
- 노드
- 에이전트
- 엑시큐터
- 노드 생성
- 구조: 젠킨스 DSL을 사용하기
- 노드
- 스테이지
- 스텝
- 지원되는 환경: 파이프라인 스크립트 개발
- 파이프라인 프로젝트 시작
- 편집기
- 스니펫 생성기 사용하기
- 파이프라인 실행
- 리플레이
- 요약
- 문법: 스크립트 방식의 파이프라인 대 서술적 파이프라인
- 3장. 파이프라인 실행 흐름
- 잡 트리거
- 프로젝트 완료 후 빌드시키기
- 주기적 빌드
- 깃 소스 코드 저장소 변경 사항 업데이트를 위한 깃허브 훅
- SCM 내려받기
- Quiet Period
- 원격에서 빌드 트리거
- 사용자 입력값
- 입력값
- 매개 변수
- 다중 입력 매개 변수의 반환 값
- 매개 변수와 서술적 파이프라인
- 흐름 제어 옵션
- timeout
- retry
- sleep
- waitUntil
- 동시성 다루기
- lock 스텝을 통한 자원 잠금
- 마일스톤을 활용해 동시 빌드 제어하기
- 멀티브랜치 파이프라인에서 동시성 제한
- 작업을 병렬로 수행하기
- 전통적인 병렬 문법
- 조건부 실행
- 후처리
- 스크립트 방식의 빌드 후처리
- 서술적 파이프라인과 후처리
- 요약
- 잡 트리거
- 4장. 알림과 리포트
- 알림
- 이메일
- 협업 서비스
- 리포트
- HTML 리포트 발행
- 요약
- 알림
- 5장. 접근과 보안
- 젠킨스 보안
- 보안 활성화
- 그 외의 전역 보안 설정
- 젠킨스 인증
- 인증 범위
- 인증 도메인
- 인증 제공자
- 인증 저장소
- 인증 관리
- 인증 제공자 선택
- 제공자 종류 선택
- 제공자별 인증 종류 설정
- 인증 생성 및 관리
- 컨텍스트 링크
- 새로운 도메인과 인증 추가
- 새로운 도메인과 인증 사용
- 고급 인증: 역할 기반 접근
- 기본 사용법
- 역할 관리
- 역할 할당
- Role Strategy Macros
- 파이프라인에서 인증 사용
- 계정과 암호
- SSH 키
- 토큰 인증
- 스크립트 보안 관리
- 스크립트 검사
- 스크립트 승인
- 그루비 샌드박싱
- Vault를 이용한 젠킨스 인증 사용
- 접근
- 설정
- 정책 생성
- 인증
- 젠킨스에서 Vault 사용
- 요약
- 젠킨스 보안
- 6장. 파이프라인 확장
- 신뢰할 수 있는와 신뢰할 수 없는 라이브러리
- 내부 라이브러리와 외부 라이브러리
- 내부 라이브러리
- 외부 라이브러리
- 소스 저장소에서 라이브러리 가져오기
- 최신 SCM
- 레거시 SCM
- 파이프라인 스크립트에서 라이브러리 사용
- 소스 저장소에서 라이브러리 자동 다운로드
- 라이브러리를 스크립트에 불러오기
- 젠킨스 항목의 라이브러리 범위
- 라이브러리 구조
- 샘플 라이브러리 루틴
- 공유 라이브러리 코드의 구조
- 서드파티 라이브러리 사용
- 코드 직접 로드
- 외부 SCM에서 코드 로드
- 외부 코드와 라이브러리 리플레이
- 신뢰할 수 있는 코드와 없는 코드에 대한 분석
- 요약
- 7장. 서술적 파이프라인
- 동기
- 직관적이지 않은 특성
- 그루비
- 추가 조립의 필요성
- 구조
- 블록
- 섹션
- 디렉티브
- 스텝
- 조건문
- 빌딩 블록
- pipeline
- agent
- environment
- tools
- options
- triggers
- parameters
- libraries
- stages
- post
- 서술적이지 않은 코드 처리
- 플러그인 확인
- 공유 라이브러리 생성
- 코드를 파이프라인 블록 밖에 위치시키기
- script 문장
- 스테이지에서 parallel 사용
- 스크립트 확인과 에러 리포트
- 서술적 파이프라인과 블루 오션 인터페이스
- 요약
- 동기
- 8장. 프로젝트 타입에 대한 이해
- 공통 프로젝트 옵션
- 일반
- 소스 코드 관리
- Build Triggers
- 빌드 환경
- 빌드
- 빌드 후처리
- 프로젝트 타입
- 프리스타일 프로젝트
- 메이븐 프로젝트 타입
- 파이프라인 프로젝트 타입
- 외부 잡 프로젝트 타입
- 다중설정(Multiconfiguration) 파이프라인 타입
- 아이비 프로젝트
- 폴더
- 폴더에서 아이템 생성
- 멀티브랜치 파이프라인 프로젝트
- 깃허브 조직 저장소(Organization) 프로젝트
- 빗버킷 팀/프로젝트 프로젝트
- 요약
- 공통 프로젝트 옵션
- 9장. 블루 오션 인터페이스
- 파트 1: 기존 파이프라인 관리
- 대시보드
- 프로젝트 연관 페이지
- 실행 페이지
- 파트 2: 블루 오션 편집기 사용하기
- Jenkinsfile이 없는 새로운 파이프라인 프로젝트 생성
- 편집기 사용
- 기존 파이프라인 수정
- 기존 파이프라인 불러오기 및 내보내기
- 깃허브가 아닌 저장소와 파이프라인의 작업
- 요약
- 파트 1: 기존 파이프라인 관리
- 10장. 변환
- 일반적인 준비
- 로직과 정확도
- 프로젝트 타입
- 시스템
- 접근
- 전역 설정
- 플러그인
- 공유 라이브러리
- 프리스타일 파이프라인을 스크립트 방식의 파이프라인으로 변환
- 소스
- 컴파일
- 단위 테스트
- 통합 테스트
- 파이프라인의 다음 부분 변환
- 젠킨스 파이프라인 프로젝트를 Jenkinsfile로 변경
- 접근
- 최종 스텝
- 스크립트 방식의 파이프라인을 서술적 파이프라인으로 변환
- 샘플 파이프라인
- 변환
- 변환 완료
- 변환을 위한 일반적 가이드라인
- 요약
- 일반적인 준비
- 11장. OS와 통합 (셸, 워크스페이스, 환경 및 파일)
- 셸 스크립트 사용
- sh 스텝
- bat 스텝
- 파워셸 스텝
- 환경 변수 사용
- withEnv 스텝
- 워크스페이스 다루기
- 커스텀 워크스페이스 생성
- 워크스페이스 정리
- 파일과 디렉토리 스텝
- 파일 다루기
- 디렉토리 작업
- 파일과 폴더 심화 작업
- 요약
- 셸 스크립트 사용
- 12장. 분석 도구 통합
- 소나 큐브 설문
- 개별 룰 다루기
- 스캐너
- 젠킨스에서 소나큐브 사용
- 전역 설정
- 프리스타일 프로젝트에서 소나큐브 사용
- 파이프라인 프로젝트에서 소나큐브 사용
- 소나큐브 분석 결과 활용
- 소나큐브 통합 결과와 젠킨스
- 코드 커버리지: JaCoCo 통합
- JaCoCo
- JaCoCo와 파이프라인 통합
- JaCoCo 결과와 젠킨스 통합
- 요약
- 소나 큐브 설문
- 13장. 아티팩트 관리 통합
- 아티팩트 업로드 및 내려받기
- 설정과 전역 설정
- 스크립트 방식의 파이프라인에서 아티팩토리 사용
- 다른 작업 수행
- 특정 파일을 특정 위치로 다운로드
- 특정 파일을 특정 장소에 업로드
- 빌드 정리 정책 설정
- 빌드 승격
- 서술적 파이프라인과 통합
- 젠킨스 결과와 아티팩토리 통합
- 아티팩트 보관 및 핑거프린트 생성
- 요약
- 14장. 컨테이너 통합
- 클라우드로 설정
- 전역 설정
- 도커 이미지를 에이전트로 사용하기
- 파이프라인에서 클라우드 이미지 사용
- 서술적 파이프라인을 위해 실시간으로 생성되는 에이전트
- 도커 파이프라인 전역 변수
- 전역 변수
- 도커 애플리케이션 전역 변수 함수
- 도커 이미지 전역 변수 함수
- 도커 컨테이너 전역 변수 함수
- 셸을 통해 도커 실행
- 요약
- 클라우드로 설정
- 15장. 기타 인터페이스
- 커맨드라인 인터페이스 사용
- SSH 인터페이스 직접 사용
- CLI 클라이언트 사용
- 젠킨스 REST API 사용
- 결과 필터링
- 빌드 시작
- 스크립트 콘솔 사용하기
- 요약
- 커맨드라인 인터페이스 사용
- 16장. 트러블 슈팅
- 파이프라인 스텝 살펴보기
- 직렬화 에러 대응
- CPS
- 파이프라인 직렬화
- NotSerializableException
- 직렬화가 불가능한 에러 처리
- 스크립트에서 에러를 발생시킨 라인 찾기
- 파이프라인에서 예외 처리
- 서술적 파이프라인에서 서술적이지 않은 코드 사용하기
- 인증되지 않은 코드(스크립트와 함수 인증)
- 지원되지 않는 작업
- 시스템 로그
- 타임스탬프
- 파이프라인 내구성 설정
- 요약
도서 오류 신고
정오표
정오표
[p.49 : 재실행성 마지막행]
프로스세를
->
프로세스를