Top

젠킨스 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 활용
█ 분석 도구, 아티팩트 관리자 및 컨테이너 통합

이 책의 대상 독자

지속적 통합과 자동 배포, 데브옵스 및 젠킨스에 대한 지식을 갖고 있으며 새로운 젠킨스 기능을 활용하는 방법에 관심이 많은 개발자를 대상으로 한다.

저자/역자 소개

지은이의 말

이 책은 처음 생각했던 것보다 훨씬 방대한 내용을 담게 됐다. 어떻게 쓰면 좋을지 고민을 했고, 두 가지 방법이 있었다. 첫 번째 방법은 기본적인 튜토리얼에 필요한 내용만을 담아 범위를 좁히는 것이고, 두 번째 방법은 시간을 더 투자해 개념 설명, 샘플 코드 작성 및 용어, 기능 그리고 pipelines-as-code에 대해 더 설명하는 것이다. 이 책의 구성을 살펴보면 결국 후자가 선택됐다는 것을 알 수 있을 것이다.
여러 해 동안 사람들에게 젠킨스 사용법을 가르쳤던 경험에 기반해 두 번째 방법으로 구성하기로 결정했다. 짧은 강의나 워크샵에서는 몇 가지 주제만 다룰 수 있었고, 사람들은 항상 더 자세하고 많은 내용과 실제로 적용할 수 있는 예시를 알고 싶어 했다. 강연이 끝나고는 많은 사람들이 줄을 서서 더 많은 정보, 예시 그리고 참고할 만한 사이트에 대해 묻곤 했다. 그러면 구글이나 스택 오버플로우를 추천하곤 했는데, 문제는 없었지만 가장 편리한 방법은 아니었다.
이 책은 어떻게 이 강력한 기술을 사용하는지 해답을 얻는 데 도움을 줄 목적으로 썼다. 데브옵스(DevOps)보다는 기술적인 설명을 하는 데 초점을 맞췄다. 독자들이 이미 지속적 통합(CI, Continuous Integration)과 자동 배포(CD, Continuous Deployment), 데브옵스 및 젠킨스에 대한 지식을 갖고 있고, 새로운 젠킨스 기능을 어떻게 활용하는지에 대해 관심이 있을 것이라 봤다.

지은이 소개

브렌트 래스터(Brant Lester)

세계적인 강사이자 작가이며, 오픈 소스 기술의 연사이자 최신 기술 회사의 고참 R&D 관리자이다. 25년이 넘게 소프트웨어 업계에서 다양한 기술, 관리 직책을 역임했다. 이 책 외에도 깃의 입문자와 고급자를 위한 전반적인 내용을 쉽게 다룬 가이드 『Professional Git』(Wiley, 2016)과 입문자의 개념 이해를 돕는 『Continuous Integration vs. Continuous Delivery vs. Continuous Deployment』(O’Reilly, 2006)의 저자이다. 업계의 콘퍼런스나 사파리의 실시간 강의에서 종종 볼 수 있다. 기술적인 능력과 리더십을 향상하고 이를 사람들과 나누고자 노력한다. 그 외에도 어떤 주제에 관한 것이든 지식을 나눠 다른 사람이 목표를 이루는 데 도움을 주는 것의 무한한 가치를 믿는다. 링크드인이나 트위터 @BrentCLaster를 통해 연락할 수 있다.

옮긴이의 말

소프트웨어 개발에서 분야를 막론하고 사용되는 개념 중 하나가 지속적 통합 및 배포다. 최근 이 분야를 주도하고 있는 기술인 젠킨스는 십 년이 넘는 기간 동안 업계 표준으로 통용되고 있다.
십 년의 성공이 보여주듯 기존의 젠킨스가 아직까지 많은 프로젝트에서 필요로 하는 요구사항을 충족하는 데 부족함은 없지만, 최신 추세인 복잡해지는 시스템간의 통합, 이를 지원하기 위한 클라우드 기술의 발전을 담기에 기존 구조는 점차 한계를 보이고 있던 것도 사실이다. 이에 젠킨스는 최근 버전 2.0 업그레이드를 통해 최신 트렌드를 반영할 수 있는 시스템으로 진화했다. 여기에는 복잡해지는 빌드 단계를 구분 짓는 파이프라인 문법의 도입, 빌드 스크립트 자체를 관리하는 젠킨스 파일의 추가, 이에 걸맞는 새로운 UI인 블루 오션 그리고 클라우드 환경을 최대한 활용할 수 있는 도커에 대한 지원 등이 포함돼 있다.
이 책은 각각의 주제에 대해 심도 있게 살펴보는 사전식 구성을 채택했다. 단순히 젠킨스 2.0에서 도입된 기능을 이해하는 데 도움이 되는 것을 넘어, 저자는 실무에서 작업을 할 때 계속해서 옆에 두고 참조할 수 있는 책을 만드는 것을 목표로 모든 주제에 대해 깊게 조사하고 이를 담았다. 젠킨스 2.0을 사용하면서 새로운 기능을 도입하거나 특정 문제에 봉착했을 때, 저자는 이 책을 통해 보다 빠르게 최선의 해결책에 접근할 수 있도록 다양한 해결 방안과 그 중에서도 최선의 해결책을 책에 포함했다.
이 책은 새롭게 젠킨스 2.0을 접하는 독자에게는 전반적인 기능에 대한 이해를 증진시켜 줄 것이다. 또한 실무에서 이를 사용하고 있는 독자에게는 실용적인 해결책 및 개선점을 알려주고, 저자의 다양한 경험을 바탕으로 젠킨스를 좀 더 젠킨스답게 사용하는 방법을 배워 유지보수에 드는 자원을 획기적으로 줄일 수 있게 도와줄 것이다.

옮긴이 소개

이상욱

2010년부터 LG CNS, 뷰웍스(Vieworks)를 거쳐 현재는 호주로 이주해 엑스그룹(Axe Group)에서 소프트웨어 개발을 하고 있다. 다양한 개발 도구에 관심이 많으며, 특히 자동화 도구에 관심이 많다. 에이콘출판사가 펴낸 『Yocto 프로젝트를 활용한 임베디드 리눅스 개발』(2014)과 『초보를 위한 젠킨스 2 활용 가이드 2/e』(2018)을 번역했다.

목차

목차
  • 1장. 젠킨스 2 소개
    • 젠킨스 2란?
      • Jenkinsfile
      • 서술적 파이프라인
      • 블루 오션 인터페이스
      • 젠킨스 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이 없는 새로운 파이프라인 프로젝트 생성
      • 편집기 사용
      • 기존 파이프라인 수정
      • 기존 파이프라인 불러오기 및 내보내기
      • 깃허브가 아닌 저장소와 파이프라인의 작업
    • 요약

  • 10장. 변환
    • 일반적인 준비
      • 로직과 정확도
      • 프로젝트 타입
      • 시스템
      • 접근
      • 전역 설정
      • 플러그인
      • 공유 라이브러리
    • 프리스타일 파이프라인을 스크립트 방식의 파이프라인으로 변환
      • 소스
      • 컴파일
      • 단위 테스트
      • 통합 테스트
      • 파이프라인의 다음 부분 변환
      • 젠킨스 파이프라인 프로젝트를 Jenkinsfile로 변경
      • 접근
      • 최종 스텝
    • 스크립트 방식의 파이프라인을 서술적 파이프라인으로 변환
      • 샘플 파이프라인
      • 변환
      • 변환 완료
    • 변환을 위한 일반적 가이드라인
    • 요약

  • 11장. OS와 통합 (셸, 워크스페이스, 환경 및 파일)
    • 셸 스크립트 사용
      • sh 스텝
      • bat 스텝
      • 파워셸 스텝
    • 환경 변수 사용
      • withEnv 스텝
    • 워크스페이스 다루기
      • 커스텀 워크스페이스 생성
      • 워크스페이스 정리
    • 파일과 디렉토리 스텝
      • 파일 다루기
      • 디렉토리 작업
      • 파일과 폴더 심화 작업
    • 요약

  • 12장. 분석 도구 통합
    • 소나 큐브 설문
      • 개별 룰 다루기
      • 스캐너
    • 젠킨스에서 소나큐브 사용
      • 전역 설정
      • 프리스타일 프로젝트에서 소나큐브 사용
      • 파이프라인 프로젝트에서 소나큐브 사용
      • 소나큐브 분석 결과 활용
      • 소나큐브 통합 결과와 젠킨스
    • 코드 커버리지: JaCoCo 통합
      • JaCoCo
      • JaCoCo와 파이프라인 통합
      • JaCoCo 결과와 젠킨스 통합
    • 요약

  • 13장. 아티팩트 관리 통합
    • 아티팩트 업로드 및 내려받기
    • 설정과 전역 설정
    • 스크립트 방식의 파이프라인에서 아티팩토리 사용
    • 다른 작업 수행
      • 특정 파일을 특정 위치로 다운로드
      • 특정 파일을 특정 장소에 업로드
      • 빌드 정리 정책 설정
      • 빌드 승격
    • 서술적 파이프라인과 통합
    • 젠킨스 결과와 아티팩토리 통합
    • 아티팩트 보관 및 핑거프린트 생성
    • 요약

  • 14장. 컨테이너 통합
    • 클라우드로 설정
      • 전역 설정
      • 도커 이미지를 에이전트로 사용하기
      • 파이프라인에서 클라우드 이미지 사용
    • 서술적 파이프라인을 위해 실시간으로 생성되는 에이전트
    • 도커 파이프라인 전역 변수
      • 전역 변수
      • 도커 애플리케이션 전역 변수 함수
      • 도커 이미지 전역 변수 함수
      • 도커 컨테이너 전역 변수 함수
    • 셸을 통해 도커 실행
    • 요약

  • 15장. 기타 인터페이스
    • 커맨드라인 인터페이스 사용
      • SSH 인터페이스 직접 사용
      • CLI 클라이언트 사용
    • 젠킨스 REST API 사용
      • 결과 필터링
      • 빌드 시작
    • 스크립트 콘솔 사용하기
    • 요약

  • 16장. 트러블 슈팅
    • 파이프라인 스텝 살펴보기
    • 직렬화 에러 대응
      • CPS
      • 파이프라인 직렬화
      • NotSerializableException
      • 직렬화가 불가능한 에러 처리
    • 스크립트에서 에러를 발생시킨 라인 찾기
    • 파이프라인에서 예외 처리
    • 서술적 파이프라인에서 서술적이지 않은 코드 사용하기
    • 인증되지 않은 코드(스크립트와 함수 인증)
    • 지원되지 않는 작업
    • 시스템 로그
    • 타임스탬프
    • 파이프라인 내구성 설정
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.49 : 재실행성 마지막행]
프로스세를
->
프로세스를