배포 자동화와 지속적 인도 (도커와 젠킨스, 쿠버네티스로 만드는)

배포 자동화와 지속적 인도 (도커와 젠킨스, 쿠버네티스로 만드는)

$36.16
Description
소프트웨어를 개발해 고객에게 인도하는 절차를 효과적으로 구축하는 데 필요한 주요 기술과 사례를 설명한다. 지속적 통합 및 인도의 기본 개념과 구조를 설명한다. 또한 젠킨스와 도커, 쿠버네티스와 앤서블을 이용해 애플리케이션을 빌드하고, 지속적으로 통합하고, 테스트를 자동화하고, 구성을 관리해서 지속적으로 배포하는 프로세스를 체계적으로 구축하는 방법을 구체적인 사례를 가지고 설명한다. 이 책을 통해 자신의 조직에 적합한 지속적 통합/인도 프로세스를 계획하고, 실제로 적용하고, 발전시키는 데 필요한 지식을 갖출 수 있다.
저자

라파엘레쉬코

RafałLeszko
소프트웨어개발자이자강사로,폴란드크라쿠프에살고있다.구글,CERN,Hazelcast등여러기업에서개발자와아키텍트로경력을쌓았다.또한Devoxx와VoxxedDays를포함한많은국제회의에서강연및워크숍을진행했으며,항상새로운도전에열린자세를갖고있다.

목차

1부.환경설정

1장.지속적인도소개
__지속적인도(CD)의이해
____전통적인도프로세스
______전통적인도프로세스의동작방식
______전통적인도프로세스의단점
____지속적인도(CD)방식의장점
____성공스토리
__자동배포파이프라인
____지속적통합(CI)
____자동인수테스트
______애자일테스팅매트릭스
______테스트피라미드
____구성관리
__CD의전제조건
____조직구조의전제조건
______데브옵스문화
______프로세스내의고객
______사업적의사결정
____기술및개발의전제조건
__CD프로세스구축
____도구소개
______도커생태계
______젠킨스
______앤서블
______깃허브
______자바/스프링부트/그래들
______그외의도구들
__완벽한CD시스템생성하기
____도커소개
____젠킨스구성
____지속적통합파이프라인
____자동인수테스트
____쿠버네티스클러스터링
____앤서블로하는구성관리
____지속적인도파이프라인/지속적인도-고급편
__요약
__질문
__더읽을거리

2장.도커소개
__기술요구사항
__도커소개
____컨테이너화와가상화비교
____도커의필요성
______실행환경
______격리
______애플리케이션구성
______이식성
____고양이와가축
____다른컨테이너화기술들
__도커설치
____도커에필요한환경
____로컬머신에설치하기
______도커데스크톱
______우분투용도커
______다른리눅스배포판용도커
______도커설치테스트
______서버에설치
______전용서버
__도커에서hello-world실행하기
____도커컴포넌트
______도커클라이언트와서버
______도커이미지와컨테이너
__도커애플리케이션
__도커이미지빌드
____도커커밋
____도커파일
____도커애플리케이션완성하기
______애플리케이션작성
______환경준비하기
______이미지빌드하기
______애플리케이션실행하기
______환경변수
__도커컨테이너상태
__도커네트워킹
____서비스실행하기
____컨테이너네트워크
____컨테이너포트공개
____자동포트할당
__도커볼륨사용하기
__도커에서이름사용하기
____컨테이너이름지정하기
____이미지에태그달기
__도커클린업
____컨테이너클린업
____이미지클린업
__도커명령어살펴보기
__요약
__연습문제
__질문
__더읽을거리

3장.젠킨스구성
__기술요구사항
__젠킨스란무엇인가?
__젠킨스설치
____도커로젠킨스설치하기
____전용패키지로젠킨스설치하기
______초기구성
____쿠버네티스에젠킨스설치하기
____클라우드에서젠킨스사용하기
__젠킨스-HelloWorld
__젠킨스아키텍처
____마스터와에이전트
____확장성
______수직적확장
______수평적확장
____테스트인스턴스/프로덕션인스턴스
____샘플아키텍처
__에이전트구성하기
____통신프로토콜
____에이전트설정하기
______영구에이전트
______영구도커호스트에이전트
______젠킨스스웜에이전트
______동적프로비저닝도커에이전트
______동적프로비저닝쿠버네티스에이전트
____동적프로비저닝쿠버네티스에이전트이해하기
____에이전트테스트하기
__커스텀젠킨스이미지
____젠킨스에이전트구축하기
____젠킨스마스터빌드하기
__구성및관리
____플러그인
____보안
____백업
____블루오션UI
__요약
__연습문제
__질문
__더읽을거리

2부.애플리케이션설계및테스트

4장.지속적통합파이프라인
__기술요구사항
__파이프라인소개
____파이프라인의구조
____멀티-스테이지HelloWorld
____파이프라인구문
______섹션
______지시어
______스텝
__커밋파이프라인
____체크아웃
______깃허브리포지토리생성
______체크아웃스테이지생성하기
____컴파일
______자바스프링부트프로젝트생성하기
______코드를깃허브로푸시하기
______컴파일스테이지생성하기
____단위테스트
______비즈니스로직생성하기
______단위테스트작성하기
______단위테스트스테이지생성하기
____젠킨스파일
______젠킨스파일생성하기
______젠킨스파일에서파이프라인실행하기
__코드-품질스테이지
____코드커버리지
______JaCoCo를그래들에추가하기
______코드커버리지스테이지추가하기
______코드커버리지리포트발행하기
____정적코드분석
______체크스타일구성추가하기
______정적코드분석스테이지추가하기
______정적코드분석리포트발행하기
____소나큐브
__트리거와알림
____트리거
______외부트리거
______폴링SCM트리거
______스케줄빌드트리거
____알림
______이메일
______그룹채팅
______팀사무실
__팀개발전략
____개발워크플로우
______트렁크-기반워크플로우
______브랜치워크플로우
______포크워크플로우
____지속적통합적용하기
______브랜치전략
______기능토글
____젠킨스멀티-브랜치
____비기술요구사항
__요약
__연습문제
__질문
__더읽을거리

5장.자동인수테스트
__기술요구사항
__인수테스트소개
__도커레지스트리
____아티팩트리포지토리
____도커레지스트리설치하기
______클라우드방식도커레지스트리
______도커허브
______자체호스팅방식도커레지스트리
____도커레지스트리사용하기
______이미지빌드하기
______레지스트리로이미지푸시하기
______레지스트리에서이미지가져오기
__젠킨스파이프라인에서의인수테스트
____도커빌드스테이지
______도커파일추가하기
______도커빌드를파이프라인에추가하기
____도커푸시스테이지
____인수테스트스테이지
______스테이징배포를파이프라인에추가하기
______인수테스트를파이프라인에추가하기
______클린업스테이지추가하기
__인수테스트작성하기
____사용자-대면테스트작성하기
____인수테스트프레임워크사용하기
______인수기준생성하기
______스텝정의생성하기
______자동인수테스트실행하기
____인수테스트-주도개발
__요약
__연습문제
__질문
__더읽을거리

6장.쿠버네티스로하는클러스터링
__기술요구사항
__서버클러스터링
____서버클러스터링소개
__쿠버네티스소개
____쿠버네티스기능개요
__쿠버네티스설치
____쿠버네티스클라이언트
____쿠버네티스서버
______로컬환경
______클라우드플랫폼
______사내설치
____쿠버네티스설정검증
____쿠버네티스사용하기
______애플리케이션배포
______쿠버네티스서비스배포
______애플리케이션노출
__쿠버네티스의고급기능
____애플리케이션확장
____애플리케이션업데이트하기
____롤링업데이트
____쿠버네티스객체와워크로드
__애플리케이션의존성
____쿠버네티스DNS확인
____멀티애플리케이션시스템개요
____멀티애플리케이션시스템구현
______그래들에Hazelcast클라이언트라이브러리추가하기
______Hazelcast캐시구성추가하기
______스프링부트캐시추가하기
______도커이미지빌드하기
____멀티애플리케이션시스템테스트
__대체다른클러스터관리시스템
____도커스웜
____아파치Mesos
____기능비교
__요약
__연습문제
__질문
__더읽을거리

3부.애플리케이션배포

7장.앤서블로하는구성관리
__기술요구사항
__구성관리소개
____좋은구성관리도구의특징
____구성관리도구개요
__앤서블설치
____앤서블서버요구사항
____앤서블설치
__앤서블사용하기
____인벤토리생성하기
____애드혹명령
____플레이북
______플레이북정의하기
______플레이북실행하기
______플레이북의멱등성
______핸들러
______변수
____롤
______롤이해하기
______앤서블갤럭시
__앤서블을이용한배포
____Hazelcast설치하기
____웹서비스배포하기
______Hazelcast호스트주소변경하기
______플레이북에계산기배포추가하기
______배포실행하기
__도커및쿠버네티스와앤서블
____앤서블의장점
____앤서블도커플레이북
______도커설치하기
______도커컨테이너실행하기
______앤서블쿠버네티스플레이북
__요약
__연습문제
__질문
__더읽을거리
__기술요구사항

8장.지속적인도파이프라인
__환경및인프라
____환경유형
______프로덕션환경
______스테이징환경
______테스트환경
______개발환경
______지속적인도환경
______보안환경
__비기능테스트
____비기능테스트의유형
_____

출판사 서평

◈이책에서다루는내용◈

◆도커의기초를배우고지속적인도프로세스에맞게애플리케이션을도커이미지로제작하기
◆클라우드환경에서젠킨스활용하기
◆쿠버네티스로도커서버풀확장하기
◆큐컴버로인수테스트를작성하고이를도커환경에서젠킨스로실행하기
◆도커레지스트리에이미지를발행하고모범사례에맞춰젠킨스파이프라인배포하기

◈이책의대상독자◈

데브옵스엔지니어와시스템관리자,도커전문가또는도커와젠킨스를통합하는방법에관심이있는개발자를대상으로한다.

◈이책의구성◈

1장,‘지속적인도소개’에서는전통적인인도프로세스의문제점을보여주고,아마존과야후의성공사례를설명한다.
2장,‘도커소개’에서는컨테이너화에대해간략히소개하고,도커플랫폼으로애플리케이션과서비스를운영할때의이점을알아본다.
3장,‘젠킨스구성’에서는젠킨스도구와아키텍처를소개하고,마스터/에이전트인스턴스를도커서버나클라우드에또는도커없이설치하는방법을알아본다.그런다음에이전트확장방법을다룬다.
4장,‘지속적통합파이프라인’에서는기존의지속적통합파이프라인에서세가지주요단계(체크아웃,빌드,단위테스트)가어떻게이뤄지는지를설명한다.
5장,‘자동인수테스트’에서는애플리케이션을릴리스하기전에자동인수테스트를수행해전체시스템이예상대로동작하는지를확인하는방법에대해설명한다.
6장,‘쿠버네티스로하는클러스터링’에서는도커도구를사용해서여러팀과프로젝트로규모를확장하는방법을설명한다.쿠버네티스에대해소개하고,이를지속적인도프로세스에서사용하는방법을배운다.
7장,‘앤서블로하는구성관리’에서는서버를확장하고여기에애플리케이션을배포하는방법을배운다.
8장,‘지속적인도파이프라인’에서는최종파이프라인에서다루지않은주제인환경및인프라구성,애플리케이션버전관리,비기능테스트등을다룬다.
9장,‘지속적인도-고급편’에서는완전한파이프라인을구축한후당면하게될,더어려운실제시나리오를다룬다.

◈옮긴이의말◈

나는오랫동안소프트웨어개발분야에있다가몇년전부터는소프트웨어용역개발분야에솔루션과개발사를발굴하고평가하는업무를하고있다.사업부서에서요청한서비스를구현하기에적합한개발사를발굴해,필요시회사를직접방문했다.인터뷰와조사로기술역량을파악해다양한프로젝트,소프트웨어개발사와개발자와만날수있었고,인터뷰로국내스타트업부터중견개발사에이르기까지각기업이추구하는개발방법론과개발환경을직접확인할수있었다.
소프트웨어개발기업의역량을파악하고자다양한평가도구를사용하지만,그중가장중요한것이애플리케이션수명관리(ALM,ApplicationLifecycleManagement)환경이다.ALM은비즈니스의요구사항관리와소프트웨어개발과정을융합하고이를자동화된툴을이용해관리하는것이다.이는요구사항관리,설계,코딩,테스트,이슈관리,릴리스등을모두포함한다.
그러므로하루가다르게진보하는기술의변화속에서소프트웨어개발사가다양한고객의요구를만족시키면서도지속성을유지하려면적은인원으로도효율적으로빠르게운영돼야한다.ALM환경이얼마나효율적으로운영되는지를보고기업의역량을간접적으로파악할수있다.기술조사및평가업무를시작하던수년전까지만해도지속적통합과인도(CI/CD)프로세스는대형인터넷기업이나일부팀에서만적용하고있던개발방법이었다.그러나이후스타트업이폭발적으로성장하면서애자일,린스타트업등의방법론이폭넓게확산됐다.이제는국내의많은기업도배포자동화,품질검증활동자동화등을비즈니스역량과통합해대응하는추세다.
이책은소프트웨어를개발해고객에게인도하는절차를효과적으로구축하며,필요한최신기술을활용해구체적으로구현하는방법을설명한다.깔끔한구성과유용한내용덕분에2017년초반발행이후지속적인인기를누리면서현재까지도꾸준히업데이트되고있다.모쪼록자신의조직에적합한지속적통합/인도프로세스를계획하고,실제로적용하며발전시키는데필요한지식을갖추고자하는독자들에게도움이됐으면한다.