이미 소장하고 있다면 판매해 보세요.
|
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 요약 부록. 추가 도구와 설치 가이드 로컬 서버를 외부 인터넷에 노출하기 윈도우와 리눅스에 깃 설치 윈도우에 깃 설치 리눅스에 깃 설치 |
Nikhil Pathania
니킬 파타니아의 다른 상품
이상욱의 다른 상품
|
지은이의 말
최근 몇 년 동안 애자일 방법론은 전 세계적으로 성장해왔다. 이런 현상의 원인 중 하나는 전자 상거래 영역에서 잦은 변경에 빠르게 대응할 수 있는 소프트웨어 배포 솔루션을 원하기 때문이다. 그 결과 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), 도커를 이용한 분산 빌드 서버 등의 유용한 내용을 많이 추가했다. |