이미 소장하고 있다면 판매해 보세요.
|
1장. 지속적 통합/배포의 이해
__개발 워크플로 ____로컬에서 단위 테스트 실행 ____중앙 리포지터리로 코드 푸시 및 병합 ____병합 후 코드 컴파일 ____컴파일된 코드에서 테스트 실행 ____아티팩트 배포 __지속적 제공/지속적 배포 __CI/CD 워크플로 예제 ____최신 코드 가져오기 ____단위 테스트 구현과 실행 ____코드 개발 ____단위 테스트 케이스 재실행 ____코드 푸시와 병합 ____코드 병합 후 컴파일 ____병합된 코드에서 테스트 실행 ____아티팩트 배포 ____배포 애플리케이션의 E-E 테스트 실행 __요약 2장. 젠킨스 소개 __젠킨스란? ____젠킨스의 역사 ____젠킨스를 이용한 CI/CD 구현 ____젠킨스 아키텍처 __요약 3장. 젠킨스 설치 __윈도우에 젠킨스 설치 ____하드웨어/소프트웨어 요구 사항 ____다양한 젠킨스 설치 방법 ____젠킨스의 구성 파일 및 디렉터리 구조 이해 ____jenkins.xml 의 주요 설정값 이해 __요약 4장. 젠킨스 구성 __전역 설정 및 경로의 구성 ____젠킨스 로그인 ____시스템 구성 옵션 이해 ____사용자 이름과 비밀번호 재설정 ____신규 사용자 추가 __요약 5장. 젠킨스 플러그인 관리 __플러그인이란 ____많이 사용되는 플러그인 ____플러그인 설치 ____플러그인 매니저 이해 __설치 문제 해결법 ____문제 1 ____문제 2 __요약 6장. 전역 도구 구성의 이해 __전역 도구 구성 설정 ____전역 도구 구성의 이해 __요약 7장. 젠킨스의 보안 관리 __젠킨스의 전역 보안 구성 ____젠킨스 LDAP 구성 ____젠킨스 LDAP 필요성 ____젠킨스 LDAP 구성 __요약 8장. 자격 증명 관리 __젠킨스의 자격 증명 이해 __자격 증명 항목 생성 ____범위 및 도메인 이해 ____젠킨스에서 자격 증명 항목 생성 ____전역 범위와 전역 도메인(기본값)에서 자격 증명 항목 생성 ____자격 증명 항목 업데이트 ____특정 도메인에서 자격 증명 항목 생성 __자격 증명 공급자 구성 __요약 9장. 사용자 관리 __젠킨스 사용자 생성 __젠킨스 사용자에게 역할 할당 ____역할-기반 전략 플러그인 설치 ____역할-기반 전략 플러그인 활성화 ____젠킨스에서 역할 생성 ____사용자에게 역할 할당 ____역할 할당 확인 __프로젝트-기반 역할 생성 ____프로젝트-기반 역할 할당 ____프로젝트-기반 역할 검증 __매트릭스-기반 보안 이해 __프로젝트-기반 매트릭스 권한 부여 전략 이해 __요약 10장. 젠킨스 작업의 이해 __젠킨스의 작업 __젠킨스의 빌드 __프리스타일 작업 __젠킨스의 작업 생성 __젠킨스의 작업 구성 ____매개변수형 프로젝트 ____프로젝트 비활성화 ____동시 빌드 실행 ____대기 시간 ____재시도 회수 ____업스트림 프로젝트가 빌드 중일 때 빌드 차단 ____다운스트림 프로젝트가 빌드 중일 때 빌드 차단 ____커스텀 워크스페이스 사용 ____표시 이름 지정 ____의존성 빌드 로그 유지 ____소스 코드 관리 ____빌드 브랜치 ____빌드 트리거 ____빌드 스텝 ____포스트-빌드 액션 __작업 실행 및 결과 확인 __작업 수정 __워크스페이스 보기 __워크스페이스 비우기 __작업 삭제 __요약 11장. 메이븐으로 자바 API 프로젝트 준비 __메이븐 빌드 도구의 이해 ____자바 API 프로젝트 개발 과정 ____개발자 지원 빌드 도구 사용법 ____자바 API 프로젝트 빌드 ____메이븐 프로젝트 디렉터리 구조 ____자바 API 프로젝트 코드 파일 ____자바 API 프로젝트의 pom.xml 파일 ____CLI에서 메이븐 사용 ____메이븐의 settings.xml 파일 __요약 12장. 메이븐과 넥서스 통합 및 자바 API 릴리스용 프리스타일 작업 생성 __깃의 이해 __깃 설치 __깃허브와 깃랩 __깃 프로세스 이해 ____1단계: 로컬 리포지터리 생성 ____2단계: 깃랩에 중앙 리포지터리 생성 ____3단계: 로컬 리포지터리로 커밋 ____4단계: 로컬 리포지터리의 코드를 깃랩으로 푸시 ____5단계: 깃랩의 리포지터리에 마스터 브랜치 생성 __넥서스 리포지터리의 이해 ____아티팩트 ____넥서스 리포지터리 __넥서스 리포지터리 설치 __넥서스 리포지터리 시작 __넥서스 설치: 윈도우 서비스 __넥서스 리포지터리 매니저 접속 __호스티드 리포지터리 생성 __메이븐과 넥서스 리포지터리 통합 ____넥서스 리포지터리에서 CalculatorAPI.jar 파일 릴리스 __넥서스 리포지터리에서 CalculatorAPI.jar를 릴리스하는 젠킨스 프리스타일 작업 생성 ____1단계: 젠킨스에서 메이븐 설정 ____2단계: 깃 리포지터리 자격 증명 추가 ____3단계: 젠킨스 대시보드에서 프리스타일 작업 생성 ____4단계: API 프로젝트에 뺄셈 함수와 단위 테스트 케이스 추가 ____5단계: 로컬 리포지터리에서 커밋과 푸시 실행 ____6단계: SubtractionFunction 브랜치를 깃랩 중앙 리포지터리의 Master 브랜치와 병합 __넥서스 리포지터리에서 CalculatorAPI.jar를 릴리스하는 젠킨스 프리스타일 작업 실행 __요약 13장. 자바 API 릴리스를 관리하는 자동 실행 프리스타일 작업 생성 __비공개 깃랩 리포지터리에 컨트리뷰터 추가 ____코드 리포지터리에 팀원 초대 __SSH 인증 이해 ____SSH 인증 필요성 ____깃랩의 SSH 인증 동작 방식 __자바 API 코드 리포지터리에 SSH 인증 적용 ____1단계: 공개 키와 개인 키를 생성 ____2단계: JenkinsBookCalculatorAPI 깃랩 리포지터리에 공개 키 추가 ____SSH를 이용한 리포지터리 접속과 함수 추가 ____1단계: JenkinsBookCalculatorAPI 리포지터리 복제 ____2단계: Calculator 클래스에 Multiplication 함수 추가 ____3단계: Multiplication 함수의 테스트 케이스 추가 ____4단계: pom.xml에서 버전을 3.0으로 변경 ____5단계: 단위 테스트 및 신규 기능의 회귀 테스트 ____6단계: 로컬 브랜치에 기능 변경 사항 커밋 ____7단계: 로컬 브랜치를 원격 리포지터리로 푸시 ____8단계: 새로 추가된 브랜치의 병합 요청 __이메일 알림 기능을 갖는 자동 실행 젠킨스 작업 생성 ____1단계: 프리스타일 작업 생성 __젠킨스에서 이메일 알림 설정 __새 젠킨스 작업 시작 __SCM이 설정된 작업 실행 __빌드 실패 이메일 알림 확인 __요약 14장. 젠킨스 파이프라인의 이해 __젠킨스 파이프라인 __파이프라인의 장점 __파이프라인 용어 이해 __파이프라인 구문 ____선언형 파이프라인 기초 ____스크립트형 파이프라인 기초 __젠킨스에서 파이프라인 정의 ____파이프라인 속도/내구성 오버라이드 __java.lang.IllegalArgumentException: __Unsupported Class File Major Version Error 해결 __젠킨스 파이프라인의 문자열 보간 이해 ____문자열 보간 예제 __자바 API를 릴리스하는 파이프라인 작업 생성 __파이프라인 작업 실행 및 Calculator API 릴리스 __요약 15장. 웹 애플리케이션 프로젝트를 관리하는 젠킨스 작업 생성 __계산기 웹 애플리케이션의 소스 코드 __계산기 웹 애플리케이션 구현 __계산기 웹 애플리케이션 배포 __계산기 웹 애플리케이션 접속 __셀레늄을 이용한 E-E 테스트 이해 ____UI 자동화 테스트 ____UI 자동화 도구의 동작 방식 ____셀레늄 웹드라이버 ____파이썬으로 작성된 셀레늄 테스트 이해 ____테스트 케이스 실행에 필요한 소프트웨어 설정 ____셀레늄 파이썬 테스트 실행 __웹 애플리케이션 및 자동화 테스트 프로젝트를 깃허브 리포지터리로 푸시 ____1단계: 깃허브 가입 ____2단계: 새 리포지터리 생성 ____3단계: 깃허브 리포지터리용 SSH 키 쌍 생성 ____4단계: $(user.name)\.ssh\config 파일에 SSH 개인 키 파일 경로 넣기 ____5단계: 깃허브 리포지터리에 SSH 공개 키 추가 ____6단계: 계산기 웹 애플리케이션을 로컬 리포지터리의 마스터 브랜치에 커밋 ____7단계: 마스터 브랜치를 원격 리포지터리로 푸시 __셀레늄 파이썬 자동 프로젝트를 깃허브로 푸시 __매개변수형 자동 실행 프리스타일 젠킨스 작업 생성 ____1단계: Parameterized Trigger 플러그인 설치 ____2단계: BuildAndDeployCalculatorWebApplication 작업 생성 ____3단계: TestCalculatorWebApplication 작업 생성 __확장 이메일 알림 기능 구성 ____1단계: 이메일 확장 플러그인 설치 ____2단계: 확장 이메일 설정 ____3단계: TestCalculatorWebApplication 작업의 . ____Post-Build 섹션에서 Email Notification 스텝 추가 __매개변수형 프리스타일 작업 수동 실행 __매개변수형 프리스타일 작업 자동 실행 __매개변수형 파이프라인 작업 생성 __계산기 웹 애플리케이션 매개변수형 파이프라인 작업의 빌드 생성과 배포 __TestCalculatorWebApplication 파이프라인 작업 생성 __매개변수형 파이프라인 작업 수동 실행 __매개변수형 파이프라인 작업 자동 시작 __요약 16장. 코드형 파이프라인 이해 __API 인증 __깃허브 리포지터리에 API 인증 적용 __API 토큰으로 비공개 깃허브 리포지터리에 접속 __깃랩에서 API 액세스 토큰 생성 __API 토큰으로 비공개 깃랩 리포지터리에 접속 __젠킨스에서 API 토큰으로 깃허브/깃랩 리포지터리에 접속 ____1단계: 젠킨스에서 메이븐 설정 ____2단계: 젠킨스 대시보드에서 프리스타일 작업 생성 ____3단계: 복제된 API 프로젝트의 pom.xml 버전 변경 ____4단계: 로컬 리포지터리에서 변경 사항을 커밋하고 깃랩 중앙 리포지터리로 푸시 __API 토큰으로 깃랩 리포지터리에 접속하는 프리스타일 작업 실행 ____코드형 파이프라인 이해 ____Jenkinsfile에서 파이프라인 작성 ____깃랩 웹훅으로 젠킨스 작업 시작 __깃허브 웹훅으로 시작하는 파이프라인 작업 생성 __깃허브 웹훅을 사용해 파이프라인 작업 시작 __요약 17장. 젠킨스 분산 빌드 __젠킨스의 분산 아키텍처 __컨트롤러와 에이전트의 연결 __SSH로 컨트롤러에서 에이전트로의 연결 ____1단계: SSH Build Agents 플러그인 설치 ____2단계: 에이전트에 자바 설치 ____3단계: SSH 공개 키-개인 키 쌍 생성 ____4단계: 개인 키가 포함된 자격 증명 항목을 컨트롤러 기기에 추가 ____5단계: 젠킨스 컨트롤러에 노드 추가 ____6단계: 에이전트의 authorized_keys 파일에 공개 키 추가 ____7단계: 에이전트의 authorized_keys 파일 권한 변경 ____8단계: sshd 서비스 재시작 ____9단계: 컨트롤러에서 에이전트로의 연결 확인 ____10단계: 컨트롤러에서 새 노드 시작 __Node1 에이전트에서 실행할 프리스타일 작업 생성 __Node1 에이전트에서 새로운 프리스타일 작업 실행 __JNLP를 사용해 에이전트와 컨트롤러를 연결하는 구성 이해 ____1단계: JNLP 에이전트의 연결 요청을 수신하도록 젠킨스 컨트롤러 구성 ____2단계: 젠킨스 URL 설정 ____3단계: 에이전트 기기에서 새 노드 추가 __JNLP 노드에서 실행할 작업 생성 __요약 18장. AWS와 젠킨스 통합 __AWS의 EC2 인스턴스 이해 __AWS에서 EC2 인스턴스 생성 ____1단계: AWS 가입 ____2단계: AWS 로그인 ____3단계: EC2 인스턴스 생성 ____4단계: EC2 인스턴스 시작 __계산기 웹 애플리케이션 배포용 EC2 인스턴스 구성 ____1단계: IIS 웹 서버 설치 ____2단계: IIS 웹 서버 구성 ____3단계: 로컬 컴퓨터와 EC2 인스턴스 간의 SSH 연결 구성 __Calculator.html 파일을 EC2 인스턴스에 복사 __로컬 컴퓨터에서 EC2 인스턴스의 Calculator.html 접속 __EC2 인스턴스에 계산기 웹 애플리케이션을 배포하는 젠킨스 작업 생성 __셀레늄 프레임워크에서 계산기 애플리케이션 URL 변경 __BuildAndDeployCalculatorWebApplicationOnEC2Instance 작업 실행 __요약 19장. 기타 주제 - 1부 __젠킨스 CLI 이해 __젠킨스 CLI 파일 다운로드 __젠킨스 CLI로 작업 생성 ____기본 인증을 이용한 사용자 인증 ____CLI 명령으로 SSH를 이용한 사용자 인증 ____SSH 인증을 사용해 젠킨스 CLI로 작업 빌드 __작업 내보내기 __작업 가져오기 __요약 20장. 기타 주제 - 2부 __젠킨스의 원격 액세스 API 이해 __젠킨스 원격 액세스 API 사용 ____젠킨스 원격 API로 기존 젠킨스 작업 구성 입수 ____젠킨스 원격 API로 새 젠킨스 작업 생성 ____젠킨스 원격 API로 매개변수형 젠킨스 작업 시작 ____젠킨스 원격 API로 일반 젠킨스 작업 시작 __Python-Jenkins로 젠킨스 서버 작업 ____Python-Jenkins 패키지 라이브러리 사용 __젠킨스 파이프라인에서 공유 라이브러리 사용 ____1단계: .groovy 파일에 공유 라이브러리 생성 ____2단계: 생성된 공유 라이브러리 파일을 깃랩 리포지터리로 푸시 ____3단계: 젠킨스에서 공유 라이브러리 구성 ____4단계: 공유 라이브러리 사용 파이프라인 작업 생성 ____5단계: 파이프라인 작업 실행하기 __요약 |
Pranoday Pramod Dingare
이정표의 다른 상품
|
◈ 이 책에서 다루는 내용 ◈
◆젠킨스를 사용한 종단간(E-E, End-to-End) 파이프라인 생성 ◆젠킨스와 아마존 웹 서비스(AWS, Amazon Web Services), 도커, 깃 등 주요 도구와의 통합 ◆셀레늄을 사용한 E-E 테스트 자동화 ◆분산 파이프라인 생성 ◈ 이 책의 대상 독자 ◈ CI/CD 파이프라인을 구축하는 개발자, 테스트 자동화 엔지니어, 데브옵스 전문가를 꿈꾸는 중급 운영자에게 도움이 된다. ◈ 지은이의 말 ◈ 젠킨스를 사용해 지속적 통합(CI, Continuous Integration), 지속적 제공, 지속적 배포(CD, Continuous Deployment)를 이해하려는 독자를 위해 이 책을 집필했다. 지속적 통합과 배포(CI/CD) 프로세스를 구축하면 사용자와 관리자는 소프트웨어 개발 과정에서 발생하는 문제를 즉각 파악할 수 있게 된다. 젠킨스에 대한 소개로 시작해 CI/CD에서의 젠킨스 아키텍처와 역할을 다룬다. 그리고 젠킨스 설치 방법 및 환경 설정 같은 기본 사항도 살펴보며, 도구 구성 및 플러그인은 물론 자격 증명과 같은 보안 조치도 설명한다. 또한 유형, 섹션 등을 포함해 젠킨스의 작업에 대해 자세히 배우고, 자바(Java) API 프로젝트의 작업과 구성도 알아본다. 책의 후반부터는 파이프라인(pipeline)의 생성 방법과 웹 애플리케이션(web application) 관리에서의 역할 및 분산 파이프라인을 다룬다. 깃(Git)이라는 분산 버전 제어 시스템의 작동을 배우고, SSH 같은 다양한 인증 기술을 사용해 접속하는 방법에 대한 예제와 시나리오도 알아볼 것이다. 테스트와 관련해서는 TestNG를 사용한 단위 테스트와 셀레늄(Selenium) 도구를 사용한 종단간(E-E, End-to-End) 테스트 수행 절차를 배운다. 또한 아마존 웹 서비스(AWS, Amazon Web Services)와 같은 클라우드 환경과 젠킨스의 통합에 대해서도 설명한다. 젠킨스 파이프라인에서 사용할 재사용 가능한 라이브러리를 만드는 방법과 젠킨스 명령행 인터페이스(CLI, Command Line Interface) 및 REST API를 사용해 서버를 제어하는 방법도 다룬다. 이 책을 학습하면 처음 프로젝트를 시작할 때부터 젠킨스를 사용해 CI/CD를 구현하는 방법과 데브옵스를 준비할 때 도움을 받을 수 있다. ◈ 옮긴이의 말 ◈ 소프트웨어 개발 기업의 역량을 파악하는 가장 중요한 평가 요소 중에는 애플리케이션 수명 관리(ALM, Application Lifecycle Management) 환경을 얼마나 잘 갖추고 운영하는지를 점검하는 항목이 있다. 여기서 말하는 ALM은 비즈니스의 요구 사항 관리와 소프트웨어 개발 과정을 융합하고 이를 자동화된 툴을 이용해 관리하는 것으로, 요구 사항 관리, 설계, 코딩, 테스트, 이슈 관리, 릴리스 등을 모두 포함한다. 하루가 다르게 진보하는 기술의 변화 속에서 소프트웨어 개발사가 다양한 고객의 요구를 만족시키면서도 지속성을 유지하려면 적은 인원으로도 효율적으로 빠르게 운영될 필요가 있다. ALM 환경이 얼마나 효율적으로 운영되는지를 통해서 기업의 역량을 간접적으로 파악할 수가 있는 것이다. 이제는 국내에서도 많은 기업이 배포 자동화, 품질 검증 활동 자동화 등을 비즈니스 역량과 통합해 대응하고 있으며, 이를 지원하는 도구도 다양하다. 하지만 그중 대표적인 자동화 솔루션인 젠킨스가 여전히 가장 높은 점유율을 갖고 있다. 윈도우 기반의 젠킨스를 활용해 지속적 통합과 배포 환경을 구축하는 방법을 자세하게 다루는 이 책이 유사한 환경에서 젠킨스 자동화 솔루션을 구축하고 관리하는 데 큰 도움이 될 것이라 생각한다. 아쉬운 점은 젠킨스가 아직 완벽한 한글화가 되지 않아, 영문 그대로 쓰는 경우가 많다는 것이다. 아마 이는 개발사의 규모와 상관없이 젠킨스를 운영 관리하는 사람은 소수이기 때문이기도 할 것이다. 이런 이유로 이 책에서는 영문 버전 젠킨스를 기본으로 하고, 필요시 우리말로 부연 설명을 하는 방식으로 독자에게 편의를 제공하고자 했다. |