이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

가격
30,000
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩) 변경
배송비?
무료

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이 분야의 이벤트

에이콘- 웹 프로페셔널 시리즈

책소개

목차

1장. 지속적 통합의 개념
소프트웨어 개발 주기
요구 사항 분석
설계
구현
테스트
진화
소프트웨어 개발에서의 폭포수 모델
폭포수 모델의 단점
폭포수 모델의 장점
애자일 방법론의 대두
열두 가지 애자일 원칙
애자일 방법론의 동작 방식
애자일 방법론의 장점
스크럼 프레임워크
스크럼 프레임워크의 주요 용어
스크럼의 동작 방식
지속적 통합
CI를 이용한 애자일
CI를 통해 이득을 볼 수 있는 프로젝트 종류
CI의 구성 요소
버전 관리 시스템
브랜칭 전략
CI 도구
자동으로 시작되는 빌드
코드 커버리지
코드 정적 분석
자동화된 테스트
바이너리 관리 도구
패키징 자동화
CI 사용의 장점
복잡하고 어려운 통합부터의 해방
메트릭
이슈의 조기 발견
빠른 개발
요약


2장. 젠킨스 설치
서블릿 컨테이너를 이용해 젠킨스 실행하기
전제 조건
자바 설치
아파치 톰캣 설치
방화벽과 8080 포트 활성화
아파치 톰캣 서버 설정하기
아파치 톰캣 서버 위에 젠킨스 설치
젠킨스를 아파치 톰캣 서버에 독립적으로 설치하기
젠킨스 홈 경로 설정
윈도우에 스탠드얼론 젠킨스 설치
전제 조건
자바 설치
최신 안정 버전 젠킨스 설치
윈도우에서 젠킨스를 시작, 중지, 재시작하기
우분투에 스탠드얼론 젠킨스 설치하기
전제 조건
자바 설치
젠킨스 최신 버전 설치
젠킨스 최신 안정 버전 설치
우분투에서 젠킨스 시작, 종료, 재시작하기
레드햇 리눅스에 스탠드얼론 젠킨스 설치하기
전제 조건
자바 설치
최신 버전 젠킨스 설치하기
최신 안정 버전 젠킨스 설치하기
레드햇 리눅스에서 젠킨스 시작, 종료, 재시작하기
젠킨스를 리버스 프록시 뒤에서 실행하기
전제 조건
Nginx의 설치와 설정
Nginx 서버 방화벽 설정
Nginx 서버 시작, 종료, 재시작하기
OpenSSL을 이용해 Nginx 보안을 유지하기
젠킨스 서버 설정
Nginx 설정에 리버스 프록시 추가하기
젠킨스와 Nginx를 같은 머신에서 실행하기
도커에서 젠킨스 실행하기
전제 조건
도커 호스트 설정
젠킨스 컨테이너 실행하기
데이터 볼륨을 이용한 젠킨스 컨테이너 실행
젠킨스 개발 및 스테이징 인스턴스 만들기
전제 조건
빈 데이터 볼륨 생성
데이터 볼륨 간 파일 복사
개발 및 스테이징 인스턴스 생성
요약


3장. 새로운 젠킨스
젠킨스 설정 마법사
전제 조건
젠킨스 잠금 해제하기
젠킨스 커스터마이징
첫 번째 관리자 만들기
새로운 젠킨스 파이프라인 잡
전제 조건
젠킨스 파이프라인 잡 만들기
전역 도구 환경 설정 페이지
젠킨스 파이프라인 스테이지 뷰
서술적 파이프라인 문법
서술적 파이프라인의 기본 구조
젠킨스 파이프라인 문법 도구
전제 조건
멀티브랜치 파이프라인
전제 조건
젠킨스에서 멀티브랜치 파이프라인 생성하기
Webhooks 재등록
젠킨스 멀티브랜치 파이프라인 인 액션
젠킨스 블루오션
젠킨스 블루오션 플러그인 설치하기
블루오션에서 기본적인 젠킨스 파이프라인 살펴보기
블루오션에서 파이프라인 생성하기
요약


4장. 젠킨스 설정
젠킨스 플러그인 매니저
젠킨스 플러그인 업데이트
새로운 젠킨스 플러그인 설치
젠킨스 플러그인을 삭제하거나 다운그레이드하기
젠킨스에 프록시 설정하기
수작업으로 젠킨스 플러그인 설치하기
젠킨스 백업과 복원
Periodic Backup 플러그인 설치하기
Periodic Backup 플러그인 설정하기
젠킨스 백업 생성하기
젠킨스 백업 복원하기
백업과 복원 로그 확인하기
젠킨스 업그레이드
톰캣 서버 위에서 돌아가는 젠킨스 업그레이드
윈도우에서 스탠드얼론 젠킨스 업그레이드하기
우분투에서 스탠드얼론 젠킨스 업그레이드
도커 컨테이너에서 젠킨스 업그레이드하기
사용자 관리
젠킨스에서 전역 보안의 활성화와 비활성화
사용자 정보를 컴퓨터에 저장하는 옵션의 활성화와 비활성화
인증 방식
젠킨스 내부에 새로운 사용자 생성하기
People 페이지
권한 설정 방식
요약


5장. 분산 빌드
분산 빌드와 테스트
젠킨스 노드 관리 페이지
젠킨스 슬레이브 추가하기: 스탠드얼론 리눅스 머신/VM
젠킨스 슬레이브에 환경 변수 전달하기
도구의 위치 전달하기
SSH를 통해 젠킨스 슬레이브 실행
활성화된 젠킨스 슬레이브에 대한 추가 정보
젠킨스 슬레이브 추가하기: 스탠드얼론 윈도우 머신/VM
Java Web Start를 통해 젠킨스 슬레이브 시작시키기
젠킨스 슬레이브 추가하기: 도커 컨테이너
전제 조건
도커 원격 API 활성화
도커 플러그인 설치
도커 플러그인 설정
도커 이미지 생성하기 - 젠킨스 슬레이브
젠킨스에 도커 컨테이너 인증 정보 추가
젠킨스에 도커 설정 업데이트
요약


6장. 소나큐브와 아티팩토리 설치
소나큐브 설치와 설정
자바 설치
소나큐브 패키지 다운로드
소나큐브 애플리케이션 실행
기본 인증 정보 초기화와 토큰 생성
소나큐브에서 프로젝트 생성하기
소나큐브에 빌드 브레이커 플러그인 설치
퀄리티 게이트 생성
기본 퀄리티 게이트 프로파일 업데이트
젠킨스에 소나큐브 플러그인 설치
젠킨스의 소나큐브 플러그인 설정
아티팩토리 설치와 설정
자바 설치
아티팩토리 패키지 다운로드
아티팩토리 애플리케이션 실행
기본 인증 정보 초기화 및 API 키 생성
아티팩토리에 저장소 추가
젠킨스에 아티팩토리 인증 정보 추가
젠킨스에 아티팩토리 플러그인 설치
아티팩토리 플러그인 설정
요약


7장. 젠킨스를 이용한 CI
젠킨스 CI 구조
브랜치 전략
CI 파이프라인
CI를 위한 도구 모음
CI 파이프라인 생성
깃허브에 새로운 저장소 생성
메이븐을 위한 소나큐브 스캐너 활용
CI를 위한 Jenkinsfile 작성
Jenkinsfile 활용
젠킨스에 멀티브랜치 파이프라인 생성
Webhooks 재등록
준비 완료된 CI
소나큐브에서 정적 코드 분석 결과 보기
젠킨스에서 소나큐브 분석 결과에 접근하기
아티팩토리에서 아티팩트 확인
퀄리티 게이트의 조건을 통과하지 못했을 때 빌드 실패시키기
요약


8장. 젠킨스를 이용한 배포 자동화
젠킨스 CD 구조
브랜치 전략
CD 파이프라인
CD를 위한 도구 모음
도커 이미지 생성: 성능 테스트
젠킨스에 도커 컨테이너 인증 정보 추가
젠킨스에 도커 설정 업데이트
제이미터를 이용해 성능 테스트 생성
자바 설치
아파치 제이미터 설치
제이미터 시작하기
성능 테스트 케이스 만들기
CD 파이프라인
CD를 위한 Jenkinsfile 작성
최종 준비된 CD
요약


9장. 젠킨스를 이용한 Continuous Deployment
Continuous Deployment 정의
프로덕션 서버 생성
베이그런트 설치
버추얼박스 설치
베이그런트를 이용해 VM 생성
젠킨스에 프로덕션 서버 인증 정보 추가
프로덕션 서버에 젠킨스 슬레이브 설치
젠킨스 Continuous Deployment 파이프라인 생성
CD 파이프라인 검토
프로덕션 젠킨스 슬레이브를 위한 파이프라인 코드
아티팩토리에서 바이너리를 다운로드하기 위한 파이프라인 코드
Continuous Deployment 파이프라인 코드 조합
Jenkinsfile 수정
준비 완료된 Continuous Deployment
요약

부록. 추가 도구와 설치 가이드
로컬 서버를 외부 인터넷에 노출하기
윈도우와 리눅스에 깃 설치
윈도우에 깃 설치
리눅스에 깃 설치


저자 소개 2

니킬 파타니아

관심작가 알림신청
 

Nikhil Pathania

현재 지멘스(Siemens Gamesa Renewable Energy)에서 데브옵스(DevOps) 일을 하고 있다. SCM 관리자로 일하기 시작해 데브옵스와 자동화 분야로 옮겨 다양한 도구와 기술을 활용하고 있다. 일하면서 다양한 IT 프로젝트에서 CI(Continuous Integration)와 CD(Continuous Delivery) 솔루션을 개발하고 적용하고 있다. 수작업으로 해야 하는 부분을 자동화시키는 것과 여러 지표를 이용해 팀원들이 소프트웨어 개발 주기를 이해할 수 있도록 돕는 데 관심이 많다. 최근에는 일래스틱 스택(Elastic Stack)과 컨테이너 기술을
현재 지멘스(Siemens Gamesa Renewable Energy)에서 데브옵스(DevOps) 일을 하고 있다. SCM 관리자로 일하기 시작해 데브옵스와 자동화 분야로 옮겨 다양한 도구와 기술을 활용하고 있다. 일하면서 다양한 IT 프로젝트에서 CI(Continuous Integration)와 CD(Continuous Delivery) 솔루션을 개발하고 적용하고 있다.
수작업으로 해야 하는 부분을 자동화시키는 것과 여러 지표를 이용해 팀원들이 소프트웨어 개발 주기를 이해할 수 있도록 돕는 데 관심이 많다. 최근에는 일래스틱 스택(Elastic Stack)과 컨테이너 기술을 데브옵스에 적용시키는 일을 하고 있다.
시간이 날 때마다 책을 읽거나 쓰고 명상을 하며, 열정적인 등산가로 자전거 타기나 등산을 즐겨한다. 트위터 @otrekpiko를 통해 연락할 수 있다.

니킬 파타니아의 다른 상품

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

이상욱의 다른 상품

품목정보

발행일
2018년 10월 15일
쪽수, 무게, 크기
388쪽 | 892g | 188*235*23mm
ISBN13
9791161752143

책 속으로

지은이의 말

최근 몇 년 동안 애자일 방법론은 전 세계적으로 성장해왔다. 이런 현상의 원인 중 하나는 전자 상거래 영역에서 잦은 변경에 빠르게 대응할 수 있는 소프트웨어 배포 솔루션을 원하기 때문이다. 그 결과 CI(Continuous Integration)와 CD(Continuous Delivery) 방법론이 사람들의 관심을 받게 됐다.
대다수 프로젝트가 정도의 차이는 있지만 이런 방법론의 효과를 보고 있다. 이슈의 조기 발견이나 지저분한 코드가 상용 코드에 들어가는 것을 방지, 혹은 빠른 배포를 통해 생산성을 향상시키고 있다.
이 책은 CI와 CD를 넘어 배포 자동화(Continuous Deployment)까지 나아가는 과정을 예제를 통해 단계별로 설명한다. 20%의 이론과 80%의 실습으로 이뤄져 있으며, CI의 개념과 애자일 방법론에서 CI가 중요한 이유를 한 장에 걸쳐 설명한다. 또한 젠킨스(Jenkins)를 설치하고 설정하는 방법을 다루고, 이를 이용해 CI와 CD를 적용시키는 방법을 설명한다. 마지막으로 CD와 지속적 배포의 차이점을 다룬다.

옮긴이의 말

소프트웨어 개발 방법론은 급격한 변화의 시기를 겪으며 현재 애자일로 수렴하고 있는 추세다. 아마도 웹 개발이 소프트웨어 업계 중 가장 큰 영역을 차지하고 있으며, 이 분야의 특징인 잦은 요구 사항 변경과 빠른 개발 주기에 애자일이 가장 잘 부합하기 때문일 것이다. 애자일 방법론에는 기술적인 요소보다 기술적이지 않은 요소가 더 많지만, 가장 중요한 기술적인 요소 한 가지가 꼭 필요하다. 흔히 지속적인 통합, 혹은 지속적인 배포라고 불리는 요소로 소프트웨어 빌드, 테스트, 배포를 자동화하는 부분이다.
젠킨스는 이 지속적 통합 분야에서 사실상 업계 표준으로 자리잡았다. 2005년 허드슨이란 이름으로 처음 프로젝트가 시작된 후, 2011년에 젠킨스로 이름을 바꾼 후에도 계속해서 시장 점유율을 늘려가고 있다. 오픈소스인 점, 플러그인을 통해 다양한 프로그램과의 호환성이 보장되는 것, 설치가 쉽고, 사용이 용이하다는 점이 젠킨스를 계속해서 사용하게 한다.
젠킨스가 소프트웨어 개발의 자동화를 도와주는 것은 분명하지만, 젠킨스를 관리하는 부분은 여전히 많은 수작업을 요한다. 수많은 노드의 생성, 관리, 빌드와 배포 환경의 복잡함을 지원하기 위해 점차 지저분해지는 젠킨스 내부 설정 등 젠킨스 자체를 사용하는 것은 마치 젠킨스 도입 전 소프트웨어 개발 환경처럼 많은 수작업이 필요했다.
이 책에서는 이런 문제를 해결하기 위해 젠킨스를 사용하는 세 가지 방향을 제시한다. 첫 번째는 도커를 이용해 노드 관리를 자동화하는 것이고, 두 번째는 젠킨스 파일을 도입해 스크립트 관리 기능을 향상시키는 것이다. 마지막은 젠킨스의 새 버전(2.0)에서 도입된 젠킨스 블루오션이라는 새로운 UI를 통해 복잡한 작업 흐름을 관리하는 방법이다.

--- 본문 중에서

줄거리

1장, ‘지속적 통합의 개념’에서는 최근 유행하는 방법론이 어떻게 CI로 이어졌는지를 설명한다. 그런 다음 CI를 구성하는 방법과 다양한 요구 조건을 다룬다.

2장, ‘젠킨스 설치’에서는 젠킨스를 도커(Docker)를 비롯한 다양한 환경에 설치하는 방법을 단계별로 설명한다.

3장, ‘새로운 젠킨스’에서는 젠킨스 2.x 버전 인터페이스의 개요와 주요 기능을 다루고, 새로 추가된 기능을 살펴본다.

4장, ‘젠킨스 설정’에서는 젠킨스 관리자가 알아야 하는 부분을 개략적으로 설명한다.

5장, ‘분산 빌드’에서는 도커를 이용한 빌드 환경의 설정 방법을 배우고 새로운 머신을 젠킨스 슬레이브(slave)로 추가하는 방법을 다룬다.

6장, ‘소나큐브와 아티팩토리 설치’에서는 소나큐브(SonarQube)와 아티팩토리(Artifactory)를 CI에 적용하기 위해 설치하고 설정하는 방법을 배운다.

7장, ‘젠킨스를 이용한 CI’에서는 CI의 개념과 젠킨스를 이용해 이를 구성하는 방법을 데브옵스 도구와 연계해 설명한다.

8장, ‘젠킨스를 이용한 CD’에서는 CD의 개념과 젠킨스를 이용해 이를 구성하는 방법을 데브옵스 도구와 연계해 설명한다.

9장, ‘젠킨스를 이용한 배포 자동화’에서는 CD와 배포 자동화(Continuous Deployment)의 차이점을 다룬다. 또한 젠킨스를 이용해 배포 자동화 하는 방법을 자세히 설명한다.

부록, ‘그 밖의 도구와 설치 방법’에서는 외부에서 젠킨스 서버에 접근하는 방법과 깃(Git) 설치 방법을 설명한다.

출판사 리뷰

특징
-젠킨스를 설정하는 가장 유명한 방법
-Pipeline as Code, 멀티브랜치 파이프라인 등 최신 젠킨스 기능 소개
-보안을 위한 젠킨스 사용자, 프로젝트 및 권한 관리
-젠킨스 플러그인을 효과적으로 활용하는 방법
-젠킨스 블루 오션을 활용한 CI 파이프라인 생성
-도커와 젠킨스를 활용한 분산 빌드 팜 생성
-젠킨스를 이용한 CI와 CD 구축
-CD와 배포 자동화(Continuous Deployment)의 차이점
-CI 개념 이해


이 책의 대상 독자

이 책은 애자일, CI, CD 경험이 거의 없는 독자를 대상으로 썼다. 관련 분야를 처음 접하거나 CI와 CD를 이용해 생산성 향상과 배포 시간 단축을 얻고 싶은 독자에게 좋은 입문서가 될 것이다.
빌드와 릴리스 담당자나 데브옵스 엔지니어, SCM(Software Configuration Management) 엔지니어, 개발자, 테스트 담당자, 프로젝트 관리자 모두 이 책에서 유용한 내용을 얻을 것이다. 젠킨스를 이용해 CI를 구성해본 독자라면 CD 구성 방법에 관한 내용을 이 책에서 배울 수 있다.
이번에 발행된 2판은 초판의 내용과 많은 부분 다르다. 특히 코드로 동작하는 파이프라인(Pipeline as Code), 멀티브랜치 파이프라인, 젠킨스 블루오션(Blue Ocean), 도커를 이용한 분산 빌드 서버 등의 유용한 내용을 많이 추가했다.

리뷰/한줄평11

리뷰

6.0 리뷰 총점

한줄평

5.3 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정
27,000
1 27,000