Top

젠킨스 블루오션 시작하기 [선언형 파이프라인 기초부터 실습까지]

  • 원서명Beginning Jenkins Blue Ocean: Create Elegant Pipelines With Ease (ISBN 9781484241578)
  • 지은이니킬 파타니아(Nikhil Pathania)
  • 옮긴이이정표
  • ISBN : 9791161753034
  • 22,000원
  • 2019년 05월 30일 펴냄
  • 페이퍼백 | 244쪽 | 188*235mm
  • 시리즈 : 소프트웨어 테스팅

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

요약

젠킨스의 파이프라인은 CI/CD 환경을 구축하는 데 핵심적인 기능임에도 불구하고, 학습 및 적용이 쉽지 않았다. 그러나 새로 도입된 블루오션 기능을 통해 파이프라인의 생성, 실행, 시각화 작업이 얼마나 쉬워졌는지를 이 책에서 확인할 수 있다. 또한 블루오션의 직관적인 인터페이스와 강력한 파이프라인 편집 기능을 예제를 통해 보여줌으로써 모든 사용자가 파이프라인을 쉽게 사용할 수 있도록 설명한다.
실제로 이 책은 블루오션을 소개하고, 단계별 설치 안내를 제공하는 것으로 시작한다. 브랜치마다 파이프라인을 생성하고, Git과 GitHub 리포지토리에 풀리퀘스트하는 방법과 개선된 파이프라인 시각화 기능과 로그 진단 기능을 알려준다.
책의 후반부에서는 파이프라인을 시각적으로 관리할 수 있는 비주얼 파이프라인 에디터와 선언형 구문을 상세히 설명하고, 파이프라인 코드를 작성할 때 도움 주는 각종 소프트웨어와 공유 라이브러리를 통한 확장법도 설명한다.

이 책에서 다루는 내용

■ 젠킨스 블루오션을 이해하고, 사용법을 알 수 있다.
■ 비주얼 파이프라인 에디터로 멋진 파이프라인을 작성할 수 있다.
■ 선언형 파이프라인 구문을 작성할 수 있다.
■ 선언형 파이프라인 코드를 작성하는 데 도움이 되는 도구를 사용할 수 있다.
■ 젠킨스 공유 라이브러리를 통해 파이프라인을 확장할 수 있다.
■ 블루오션에서 표준 젠킨스 파이프라인을 시각화할 수 있다.
■ 블루오션의 테스트 결과를 구성하고 출력할 수 있다.
■ 개선된 파이프라인 시각화 기능으로 파이프라인 실패 시 정확한 진단을 할 수 있다.
■ 깃(Git), 깃허브(GitHub), 깃랩(Gitlab) 저장소용 멀티브랜치 파이프라인 프로젝트를 생성할 수 있다.

저자/역자 소개

지은이의 말

젠킨스는 지속적 인도 방식에 있어 사실상 표준이 되는 소프트웨어로서, 대부분의 개발자가 선택을 고려할 때 첫손가락으로 꼽는 도구다. 경쟁 제품과 비교할 때 가장 크게 언급되는 점은 두 가지인데, 오픈소스라는 것과 광범위한 플러그인 활용이 가능하다는 것이다. 게다가 이제는 플러그인을 통해 젠킨스에서도 ‘코드형 파이프라인’ 기능이 가능해져서 어느 정도 복잡한 지속적 인도 파이프라인도 만들 수 있게 됐다.
그러나 기능이 확장되는 만큼 점점 학습할 것이 많아졌으며, 그 결과 젠킨스는 기능은 광범위하지만 완전히 익히기는 어려운 도구라는 평판을 얻게 됐다.
이러한 학습의 어려움을 해결하고자 젠킨스는 블루오션이라는 기능을 도입했다. 젠킨스 블루오션의 직관적인 인터페이스와 강력한 파이프라인 편집기를 이용해 지속적 인도 파이프라인을 만드는 과정을 쉽고 재미있게 즐길 수 있도록 했다. 그 결과 블루오션은 지속적 인도 방식을 도입하려는 개발자들이라면 누구나 관심을 갖는 도구로 확산되는 추세다.
이 책을 통해 젠킨스 블루오션의 모든 기능을 학습할 수 있기를 바란다.

지은이 소개

니킬 파타니아(Nikhil Pathania) 현재 덴마크의 지멘스 가메사 재생 에너지(Siemens Gamesa Renewable Energy) 사에서 데브옵스 업무를 하고 있으며, 데브옵스 분야에서 10년 이상의 경력을 쌓았다. 소프트웨어 형상 관리 분야에서 SCM 엔지니어로 경력을 시작했고, 이후에 데브옵스 및 자동화 분야에서 다양한 도구와 기술을 익혔다.
경력을 쌓는 동안 여러 IT 프로젝트에서 지속적 통합 및 인도 솔루션을 설계하고 구현했으며, 수작업을 개선하고 자동화하는 방법을 찾는 일을 즐긴다.
취미로는 독서와 글쓰기, 명상 등이 있고, 최근에는 클라이밍에 빠져 있으며, 하이킹과 사이클도 즐긴다. 트위터(@otrekpiko)로 연락할 수 있다.

옮긴이의 말

데브옵스로 불리는 개발 환경 자동화는 기업 규모와 관계없이 소프트웨어 개발을 하는 모든 분야에서 표준적인 환경이 되고 있다. 즉, 이전에는 데브옵스의 채택 여부가 기업의 경쟁력이었다면 이제는 데브옵스를 얼마나 효율적으로, 비즈니스 역량과 통합해 대응할 수 있는가로 경쟁력이 옮겨가는 추세다.
데브옵스 분야의 대표적인 자동화 솔루션인 젠킨스가 이러한 변화에 대응하고자 내놓은 대안이 바로 블루오션이다. 블루오션을 활용해 빌드 파이프라인을 구성한다면 이전에는 몇 주 이상 걸리던 학습 기간을 며칠로 단축할 수 있다. 젠킨스 블루오션의 직관적인 인터페이스와 강력한 파이프라인 편집기를 활용해 지속적 인도 파이프라인을 만들고 운영하다 보면 어느새 경쟁력이 높아진 자신을 발견할 수 있을 것이다.
이 책을 번역을 하면서 아쉬웠던 점은 젠킨스가 완벽하게 한글화가 되어 있지 않아, 영문 그대로 쓰는 경우가 많다는 사실이다. 아마 이는 개발사의 규모와 상관없이 젠킨스를 운영 관리하는 사람이 소수라 굳이 한글화의 필요성을 느끼지 못하는 이유도 있을 테고, 릴리스가 매우 빈번하고, 새로 등장하는 용어도 많은 제품의 특성상 한글화를 할 겨를이 없기 때문이기도 할 것이다. 이런 이유로 이 책에서는 영문 버전 젠킨스를 기본으로 하고, 필요시 우리말로 부연설명을 하는 방식으로 독자에게 편의를 제공하고자 했다.
또한 블루오션에서 사용하는 파이프라인 코드 기술 방식인 ‘declarative pipeline’은 ‘선언형 파이프라인’으로, 기존에 사용하던 기술 방식인 ‘scripted pipeline’은 ‘스크립트형 파이프라인’으로 번역했다. 이는 프로그래밍 언어에서 사용하는 ‘imperative language’와 ‘declarative language’를 우리말로 통상 ‘명령형 언어’와 ‘선언형 언어’로 사용하는 것에 맞춘 것으로 독자의 이해를 부탁드린다.

옮긴이 소개

이정표

모바일 브라우저 개발부터 클라우드 서비스 기획까지 20년간 다양한 개발 프로젝트에 참여했으며, 현재는 SW 품질 평가 업무를 하고 있다. 오픈 라이선스를 활용한 IT 기술 및 콘텐츠 확산에 관심이 많으며, 주말에는 마라톤, 트레일 러닝, 오리엔티어링을 즐긴다.
옮긴 책으로는 『워드프레스 플러그인과 테마 만들기』(에이콘, 2012), 『Hudson3 설치와 운용』(에이콘, 2014), 『젠킨스 마스터』(에이콘, 2018), 『린 모바일 앱 개발』(에이콘, 2019)이 있고, 『크리에이티브 커먼즈 권리표현언어(ccREL)』(2009)와 『참여와 소통의 정부 2.0』(아이앤유, 2011), 『난독화, 디지털 프라이버시 생존 전략』(에이콘, 2017), 『오픈 비즈니스 전략』(오픈아이디어랩, 2019)의 공역자로 참여했다.

목차

목차
  • 1장. 개요
    • 젠킨스 블루오션이란?
      • 요청에 따른 개선의 산물
      • 모두를 위한 지속적 인도(CD) 도구
      • 젠킨스 플러그인
    • 블루오션이 제공하는 기능
      • 파이프라인 생성 마법사
      • 비주얼 파이프라인 에디터
      • 젠킨스 파일
      • 파이프라인 시각화
      • 변경사항과 테스트, 산출물 메뉴 보기
      • 파이프라인 액티비티/브랜치
      • 블루오션 대시보드
    • 고려할 점
      • 블루오션에서 기존 젠킨스 프로젝트 실행하기
      • 프리스타일이나 다중 구성 프로젝트는 블루오션에서 동작하는가?
      • 선언형 파이프라인 구문
      • 복잡한 파이프라인을 쉽게 이해하기
      • 여전히 표준 젠킨스 인터페이스를 사용할 일이 있을까?
      • 지금 바꾸는 게 잘하는 것일까?
      • 누가 블루오션을 사용해야 할까?
      • 앞으로의 전망은 어떨까?
    • 요약

  • 2장. 젠킨스 블루오션 설정
    • 도커를 이용한 블루오션 설정
      • 젠킨스 블루오션 도커 이미지 다운로드
      • 젠킨스 블루오션 컨테이너 생성
      • 젠킨스 설정 마법사로 실행하기
    • 기존 젠킨스 서버에 블루오션 설정하기
    • 고려할 점
      • 아파치에서 젠킨스 블루오션을 실행하는 경우
      • 엔진엑스에서 젠킨스 블루오션을 실행하는 경우
      • 아파치 톰캣에서 젠킨스 블루오션을 운영하는 경우
    • 요약

  • 3장. 첫 파이프라인 만들기
    • 사전 준비사항
      • 젠킨스 에이전트용 도커 이미지 가져오기
      • 젠킨스에서 도커 이미지용 자격 증명 생성하기
      • 도커 플러그인 설치
      • 도커 플러그인 구성
    • 파이프라인 생성 마법사 사용하기
      • 블루오션 파이프라인과 깃 저장소 연결
      • 블루오션 파이프라인과 깃허브 저장소 연결
      • 블루오션 파이프라인과 비트버킷 저장소 연결
      • 블루오션 파이프라인과 깃랩 저장소 연결
      • 젠킨스에서 저장소 연결용으로 저장한 자격 증명 보기
    • 비주얼 파이프라인 에디터 사용하기
      • 글로벌 에이전트 할당
      • Build & Test 스테이지 생성
      • 스텝 추가
      • 셸 스크립트 스텝 추가
      • Stash 스텝을 추가해 스테이지 간 산출물 전달하기
      • Build & Test 스테이지용 에이전트 지정
      • Report & Publish 스테이지 생성
      • Un-Stash 스텝 추가
      • 테스트 결과 리포트
      • 블루오션에 산출물 업로드
      • Report & Publish 스테이지용 에이전트 지정
    • 파이프라인 시각화 사용
      • 파이프라인 실행 취소
      • 파이프라인 재실행
      • 파이프라인 흐름도 사용
      • 스텝별, 스테이지별, 파이프라인별 로그 추적
      • 테스트 뷰 사용
      • Artifacts 화면 사용
    • 블루오션에서 기존 파이프라인 편집
      • 아티팩토리 서버 실행
      • 젠킨스에 아티팩토리 플러그인 설치
      • 젠킨스에서 아티팩토리 플러그인 구성
      • 젠킨스 블루오션 파이프라인 편집
    • 프로젝트의 멀티브랜치용 파이프라인 보기
    • 풀 리퀘스트용 파이프라인 실행
    • 요약

  • 4장. 선언형 파이프라인 구문
    • 코드 방식의 파이프라인 소개
      • 스크립트형 파이프라인
      • 선언형 파이프라인
      • 젠킨스 파일
    • 선언형 파이프라인 구문
      • 섹션
      • 지시어
      • 순차 스테이지
      • 병렬 스테이지
      • 스텝
    • 요약

  • 5장. 선언형 파이프라인 개발 도구
    • 아톰 에디터의 자동 완성 및 구문 강조 기능
      • 자동 완성 및 구문 강조용 패키지 설치
      • config.cson 파일 수정
      • 자동 완성 및 구문 강조 사용
    • 비주얼 스튜디오 코드의 구문 강조 및 젠킨스 파일 유효성 검증
      • 구문 강조 확장 프로그램 설치
      • 젠킨스 파일 유효성 검증용 확장 프로그램 설치
      • settings.json 파일 수정
      • 구문 강조 및 젠킨스 파일 유효성 검증 사용
    • 이클립스 IDE의 자동 완성, 구문 강조, 젠킨스 파일 유효성 검증
      • 자동 완성, 구문 강조, 젠킨스 파일 유효성 검증용 플러그인 설치
      • Jenkins Editor 플러그인 설정 변경
      • 자동 완성, 구문 강조, 젠킨스 파일 유효성 검증 실행
    • 젠킨스의 선언형 지시어 생성기
    • 젠킨스의 스니핏 생성기
    • 요약

  • 6장. 공유 라이브러리 작업
    • 공유 라이브러리를 사용하는 이유
      • 공유 라이브러리의 동작 방식
      • 공유 라이브러리의 디렉토리 구조
    • 공유 라이브러리 검색
      • 젠킨스에서 사전 구성된 설정을 사용해 공유 라이브러리 검색
      • 파이프라인 실행 중에 직접 공유 라이브러리 검색
    • 파이프라인에서 공유 라이브러리 사용하기
    • 공유 라이브러리 생성
      • 공유 라이브러리에서 전역 변수 사용
      • 공유 라이브러리에서 커스텀 스텝 사용하기
    • 요약

  • 부록
    • 도커 호스트 설정
      • 사전 준비사항
      • 저장소 설정
      • 도커 설치
    • 도커 원격 API 활성화(중요)
      • docker.conf 파일 수정
      • docker.service 파일 수정

도서 오류 신고

도서 오류 신고

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

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

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