확장메뉴
주요메뉴


소득공제

배포 자동화와 지속적 인도

: 도커와 젠킨스, 쿠버네티스로 만드는

에이콘 소프트웨어 테스팅이동
첫번째 리뷰어가 되어주세요 | 판매지수 1,254
베스트
컴퓨터 공학 top100 3주
정가
35,000
판매가
31,500 (10% 할인)
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

품목정보

품목정보
발행일 2022년 08월 31일
쪽수, 무게, 크기 396쪽 | 188*235*30mm
ISBN13 9791161756271
ISBN10 1161756272

이 상품의 태그

배포 자동화와 지속적 인도

배포 자동화와 지속적 인도

31,500 (10%)

'배포 자동화와 지속적 인도' 상세페이지 이동

쿠버네티스 입문

쿠버네티스 입문

25,200 (10%)

'쿠버네티스 입문' 상세페이지 이동

핵심만 콕! 쿠버네티스

핵심만 콕! 쿠버네티스

28,800 (10%)

'핵심만 콕! 쿠버네티스' 상세페이지 이동

프로메테우스, 오픈소스 모니터링 시스템

프로메테우스, 오픈소스 모니터링 시스템

28,800 (10%)

'프로메테우스, 오픈소스 모니터링 시스템' 상세페이지 이동

쿠버네티스 패턴

쿠버네티스 패턴

25,200 (10%)

'쿠버네티스 패턴' 상세페이지 이동

쿠브플로우

쿠브플로우

13,500 (10%)

'쿠브플로우' 상세페이지 이동

도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문

도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문

25,200 (10%)

'도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문' 상세페이지 이동

쿠버네티스를 활용한 클라우드 네이티브 데브옵스

쿠버네티스를 활용한 클라우드 네이티브 데브옵스

28,800 (10%)

'쿠버네티스를 활용한 클라우드 네이티브 데브옵스' 상세페이지 이동

완벽한 IT 인프라 구축의 자동화를 위한 Kubernetes 쿠버네티스

완벽한 IT 인프라 구축의 자동화를 위한 Kubernetes 쿠버네티스

22,500 (10%)

'완벽한 IT 인프라 구축의 자동화를 위한 Kubernetes 쿠버네티스' 상세페이지 이동

알면 더 쉬운 도커 쿠버네티스

알면 더 쉬운 도커 쿠버네티스

23,400 (10%)

'알면 더 쉬운 도커 쿠버네티스' 상세페이지 이동

매니징 쿠버네티스

매니징 쿠버네티스

18,000 (10%)

'매니징 쿠버네티스' 상세페이지 이동

시작하세요! 도커/쿠버네티스

시작하세요! 도커/쿠버네티스

32,400 (10%)

'시작하세요! 도커/쿠버네티스' 상세페이지 이동

쿠버네티스 기초 다지기 3/e

쿠버네티스 기초 다지기 3/e

31,500 (10%)

'쿠버네티스 기초 다지기 3/e' 상세페이지 이동

개발자를 위한 쿠버네티스

개발자를 위한 쿠버네티스

31,500 (10%)

'개발자를 위한 쿠버네티스' 상세페이지 이동

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

1부. 환경 설정

1장. 지속적 인도 소개


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

2장. 도커 소개

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

3장. 젠킨스 구성

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

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

4장. 지속적 통합 파이프라인

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

5장. 자동 인수 테스트

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

6장. 쿠버네티스로 하는 클러스터링

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

3부. 애플리케이션 배포

7장. 앤서블로 하는 구성 관리


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

8장. 지속적 인도 파이프라인

__환경 및 인프라
____환경 유형
______프로덕션 환경
______스테이징 환경
______테스트 환경
______개발 환경
______지속적 인도 환경
______보안 환경
__비기능 테스트
____비기능 테스트의 유형
______성능 테스트
______내구성 테스트
______보안 테스트
______유지보수 테스트
______복구 테스트
____비기능 테스트의 어려운 점
__애플리케이션 버전 관리
____버전 관리 전략
____젠킨스 파이프라인에서의 버전 관리
__지속적 인도 파이프라인 완성하기
____인벤토리
____버전 관리
____원격 스테이징 환경
____인수 테스트 환경
____릴리스
____스모크 테스트
____젠킨스파일 완성하기
__요약
__연습 문제
__질문
__더 읽을거리
__기술 요구 사항

9장. 지속적 인도 - 고급편

__데이터베이스 변경 관리
____스키마 업데이트의 이해
______데이터베이스 마이그레이션 소개
______Flyway 사용
____지속적 인도에서 데이터베이스 변경
______하위 버전과 호환이 가능하게 변경한 경우
______하위 버전과 호환이 불가능하게 변경한 경우
______코드 변경 사항에서 데이터베이스 업데이트 분리
____공유 데이터베이스 분리
____테스트 데이터 준비
______단위 테스트
______통합/인수 테스트
______성능 테스트
__파이프라인 패턴
____파이프라인 병렬화
____파이프라인 컴포넌트 재사용
______파라미터 방식 빌드
______공유 라이브러리
____배포 롤백
____수작업 스텝 추가
__릴리스 패턴
____블루-그린 배포
____카나리아 릴리스
__레거시 시스템과의 연동
____빌드 및 배포 자동화
____테스트 자동화
____리팩토링과 새로운 기능 추가
____인간적 요소의 이해
__요약
__연습 문제
__질문
__더 읽을거리

출판사 리뷰 출판사 리뷰 보이기/감추기

◈ 이 책에서 다루는 내용 ◈

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

◈ 이 책의 대상 독자 ◈

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

◈ 이 책의 구성 ◈

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

◈ 지은이의 말 ◈

이 책은 지속적 통합을 적용한 앱 개발 방식을 개선하는 데 있어 어떻게 도커와 젠킨스를 잘 활용할 수 있는지를 다룬다. 처음에는 도커 서버의 설정과 젠킨스를 구성하는 것으로 시작한다. 그런 다음 도커 파일에서 애플리케이션을 빌드하고, 이를 지속적 통합, 인수 테스트 자동화, 구성 관리와 같은 지속적 인도 프로세스를 사용해 젠킨스와 통합하는 단계를 간략히 다룬다.
이어서 쿠버네티스와 젠킨스의 확장 기능, 도커 컨테이너로 애플리케이션을 신속하게 배포하는 방법을 배우고, 도커 이미지로 배포한 애플리케이션을 젠킨스로 테스트하는 과정을 알아본다. 그리고 CD 파이프라인에서 다루지 않았던 환경과 인프라 구성, 애플리케이션 버전 관리, 비기능 테스트에 대해서도 살펴본다. 이 책의 마지막에서는 도커와 젠킨스의 기능을 통합해 데브옵스 워크플로우를 향상시킬 것이다.

◈ 옮긴이의 말 ◈


나는 오랫동안 소프트웨어 개발 분야에 있다가 몇 년 전부터는 소프트웨어 용역 개발 분야에 솔루션과 개발사를 발굴하고 평가하는 업무를 하고 있다. 사업 부서에서 요청한 서비스를 구현하기에 적합한 개발사를 발굴해, 필요시 회사를 직접 방문했다. 인터뷰와 조사로 기술 역량을 파악해 다양한 프로젝트, 소프트웨어 개발사와 개발자와 만날 수 있었고, 인터뷰로 국내 스타트업부터 중견 개발사에 이르기까지 각 기업이 추구하는 개발 방법론과 개발 환경을 직접 확인할 수 있었다.

소프트웨어 개발 기업의 역량을 파악하고자 다양한 평가 도구를 사용하지만, 그중 가장 중요한 것이 애플리케이션 수명 관리(ALM, Application Lifecycle Management) 환경이다. ALM은 비즈니스의 요구 사항 관리와 소프트웨어 개발 과정을 융합하고 이를 자동화된 툴을 이용해 관리하는 것이다. 이는 요구 사항 관리, 설계, 코딩, 테스트, 이슈 관리, 릴리스 등을 모두 포함한다.

그러므로 하루가 다르게 진보하는 기술의 변화 속에서 소프트웨어 개발사가 다양한 고객의 요구를 만족시키면서도 지속성을 유지하려면 적은 인원으로도 효율적으로 빠르게 운영돼야 한다. ALM 환경이 얼마나 효율적으로 운영되는지를 보고 기업의 역량을 간접적으로 파악할 수 있다. 기술 조사 및 평가 업무를 시작하던 수 년전까지만 해도 지속적 통합과 인도(CI/CD) 프로세스는 대형 인터넷 기업이나 일부 팀에서만 적용하고 있던 개발 방법이었다. 그러나 이후 스타트업이 폭발적으로 성장하면서 애자일, 린 스타트업 등의 방법론이 폭넓게 확산됐다. 이제는 국내의 많은 기업도 배포 자동화, 품질 검증 활동 자동화 등을 비즈니스 역량과 통합해 대응하는 추세다.

이 책은 소프트웨어를 개발해 고객에게 인도하는 절차를 효과적으로 구축하며, 필요한 최신 기술을 활용해 구체적으로 구현하는 방법을 설명한다. 깔끔한 구성과 유용한 내용 덕분에 2017년 초반 발행 이후 지속적인 인기를 누리면서 현재까지도 꾸준히 업데이트되고 있다. 모쪼록 자신의 조직에 적합한 지속적 통합/인도 프로세스를 계획하고, 실제로 적용하며 발전시키는 데 필요한 지식을 갖추고자 하는 독자들에게 도움이 됐으면 한다.

한줄평 (1건) 한줄평 총점 6.0

혜택 및 유의사항 ?
평점3점
2019년 2판기준 번역본인데, 2022년 5월 3판이 나와 구입이 망설여지네요.
1명이 이 한줄평을 추천합니다. 공감 1
n**u | 2022.09.04
  •  쿠폰은 결제 시 적용해 주세요.
1   31,500
뒤로 앞으로 맨위로 공유하기