서브메뉴

본문

자바 프로젝트 필수 유틸리티 (깃/깃허브,메이븐,그레이들,젠킨스,SBT로 버전 관리에서 자동 배포까지)
자바 프로젝트 필수 유틸리티 (깃/깃허브,메이븐,그레이들,젠킨스,SBT로 버전 관리에서 자동 배포까지)
저자 : 쇼다 츠야노|전민수
출판사 : 한빛미디어
출판년 : 2018
ISBN : 9791162240700

책소개

“소스 관리에서 자동 배포까지
일하기 편한 지속적인 통합 개발 환경을 만드는 자바 개발 도구 활용서”

이 책은 자바 프로젝트를 수행하는 데 유용한 깃/깃허브, 젠킨스, 메이븐, 그레이들, SBT를 협업 관점에서 소개합니다. 단순히 기능만 소개하는 것이 아니라 현업에 유용한 플러그인들을 활용하고, 다른 도구와 연계하여 사용하는 방법을 알려줍니다. 따라서 지속적 통합 및 배포를 구축하는 데 큰 도움을 줍니다.

* 1장부터 6장까지는 이 책의 원서를 번역한 내용입니다. 한국어판의 7장과 8장은 새롭게 집필하여 추가한 내용입니다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

★ 소스 관리와 테스트, 배포는 도구에 맡기고 로직 구현에 집중하라
개발자에게 불필요한 부가 업무를 씌우지 맙시다. 로직에 집중하게 합시다. 개발의 산물인 소스 코드를 원활하게 협업하여 개발할 수 있게, 안전하게 관리하게 합시다. 또한 기밀성을 유지하기 위해 언제든지 배포 가능한 상태를 유지합시다. 그러려면 지속적인 통합(CI)과 배포(CD) 환경은 필수입니다. 이 책은 다양한 빌드 도구와 활용 방법을 제시합시다. 개발 환경에 맞는 빌드 도구를 선택하고 로직에 집중할 수 있는 개발 환경을 구현하는 데 도움을 줍니다.

★ 자바 개발에 꼭 필요한 5가지 도구를 모았습니다!
●깃/깃허브 : 버전 관리 시스템 및 온라인 저장소
●젠킨스 : 지속적 통합 서비스를 제공하는 도구
●메이븐 : 자바 프로젝트 관리 및 빌드 도구
●그레이들 : 스크립트 기반 빌드 시스템
●SBT : 스칼라 기반 빌드 시스템

★ 장별 다루는 내용
총 8개 장으로 구성된 이 책은 메이븐, 그레이들, SBT, 깃/깃허브, 젠킨스를 차례대로 다룹니다. 각 장마다 다루는 내용은 다음과 같습니다.

[1장 빌드 도구 입문하기]
자바로 개발할 때 이용하는 ‘빌드 도구’는 컴파일부터 원격 저장소의 소스 코드를 실행 환경에 배포하는 과정까지 자동화하는 역할을 담당합니다. 이 장에서는 빌드 도구가 무엇이고 어떤 역할을 하는지 알아봅니다.

[2장 메이븐 입문하기]
아파치 메이븐은 자바 빌드 도구의 사실상 표준입니다. 이미 많은 통합개발 환경에서 메이븐을 지원합니다. 이 장에서는 메이븐의 기본 사용 방법, 그리고 이클립스, 인텔리제이, 넷빈즈를 사용하는 방법, 중앙 저장소 활용 방법에 대해 알아봅니다.

[3장 메이븐 활용하기]
메이븐으로 로컬과 원격 저장소를 활용하고, 라이브러리를 저장소에 추가하거나 아키타입을 생성하고 지정하는 방법을 다룹니다. 그 과정에서 데스크톱과 스프링 부트를 이용해 웹 애플리케이션을 개발하면서 메이븐을 자유자재로 활용하는 방법을 배우게 됩니다.

[4장 그레이들 입문하기]
그레이들은 그루비를 이용한 빌드 도구입니다. 빌드할 내용을 스크립트 언어로 기술하기 때문에, 매우 유연한 처리가 가능합니다. 이번 장에서는 그레이들의 기본적인 사용법에 대해 설명하겠습니다.

[5장 그레이들 활용하기]
그레이들은 스크립트를 작성하여 처리를 수행하기 때문에 마음만 먹으면 뭐든 할 수 있습니다. 하지만 이렇게 말하면 너무 막연해서 구체적인 활용 방법이 떠오르지 않을 겁니다. 이번 장에서는 다양한 프로그램을 만드는 데 그레이들을 어떻게 활용하지 구체적으로 실습을 해보면서 알아보겠습니다.

[6장 SBT 입문과 활용하기]
SBT는 플레이 프레임워크의 빌드 도구로 알려져 있는데, 일반적인 자바 프로젝트에서도 이용할 수 있습니다. 여기에서는 자바 개발을 중심으로 SBT의 기본적인 사용법을 알아보겠습니다. 플레이 프레임워크 전용 도구라는 오해를 불식시키는 기회가 되었으면 합니다.

[7장 깃/깃허브 입문과 활용하기]
유명 버전 관리 시스템(version control system, VCS)인 깃과 온라인 저장소 깃허브에 대해서 알아보겠습니다. 아울러 버전 관리 시스템의 유형에 대해서 알아봅니다. 이 장을 읽고 나면 깃과 깃허브를 사용하고, 커밋하고 브랜치를 만드는 기본 사용 방법을 알게 됩니다.

[8장 젠킨스 입문과 활용하기]
오픈소스 자동화 도구로 많은 인기를 얻고 있는 젠킨스에 대해서 알아보겠습니다. 이 장을 읽고 나면 다양한 플러그인을 활용해 젠킨스와 소나큐브를 이용한 CI/CD를 구현할 수 있습니다.
[교보문고에서 제공한 정보입니다.]

목차정보

[1장 빌드 도구 입문]
1.1 빌드 도구란?
__1.1.1 개발 환경의 변화와 빌드
__1.1.2 빌드 도구의 역할
__1.1.3 자바 개발 환경과 사용 언어에 대해
__1.1.4 빌드 도구 사용 방법
__1.1.5 개발 도구와 빌드 도구
1.2 빌드 도구 선택하기

[2장 메이븐 입문하기]
2.1 메이븐 기초 지식
__2.1.1 앤트에서 메이븐으로
__2.1.2 메이븐 특징
__2.1.3 메이븐 설치
__2.1.4 프로그램 배치와 환경설정
__2.1.5 메이븐 프로젝트 생성
__2.1.6 메이븐 프로젝트 구성
__2.1.7 이클립스에서 메이븐 이용하기
__2.1.8 이클립스에서 메이븐 프로젝트 조작하기
__2.1.9 메이븐 pom 편집기에 대해
__2.1.10 자바 프로젝트를 메이븐 프로젝트로 변환하기
__2.1.11 Run 컨피그레이션 작성하기
__2.1.12 인텔리제이에서 메이븐 이용하기
__2.1.13 pom.xml 편집하기
__2.1.14 Run 컨피그레이션 작성하기
__2.1.15 넷빈즈에서 메이븐 이용하기
__2.1.16 메이븐 명령어 실행하기
__2.1.17 pom.xml 편집하기
__2.1.18 개발 환경과 메이븐
2.2 pom.xml 기본
__2.2.1 App.java 수정하기
__2.2.2 빌드 파일 pom.xml 알아보기
__2.2.3 와 기본 속성
__2.2.4 와 의존성 설정
2.3 기본적인 ‘골’
__2.3.1 ‘compile’로 컴파일하기
__2.3.2 ‘test’로 테스트 실행하기
__2.3.3 프로그램 패키징
__2.3.4 프로젝트 클린업
__2.3.5 프로그램 실행하기
__2.3.6 빌드 플러그인 알아보기
__2.3.7 메이븐의 골 그리고 플러그인
__2.3.8 이클립스에서 사용하기
__2.3.9 인텔리제이에서 사용하기
__2.3.10 실행 가능한 JAR 파일 만들기
2.4 중앙 저장소
__2.4.1 메이븐 중앙 저장소 소개
__2.4.2 검색 엔진 사이트 이용하기
__2.4.3 등록 프로그램 정보에 대해
__2.4.4 메이븐 이외의 빌드 도구에서 사용하기

[3장 메이븐 활용하기]
3.1 저장소 이용
__3.1.1 로컬 저장소
__3.1.2 원격 저장소 이용하기
__3.1.3 AspectJ 이용하기
__3.1.4 메이븐으로 라이브러리 만들기
__3.1.5 pom.xml 수정하기
__3.1.6 로컬 저장소에 라이브러리 추가하기
__3.1.7 라이브러리 이용하기
__3.1.8 pom.xml 수정하기
__3.1.9 프로젝트 실행하기
__3.1.10 로컬 저장소의 위치 알아보기
3.2 데스크톱 애플리케이션 개발
__3.2.1 archetype:generate 알아보기
__3.2.2 자바 애플리케이션의 기본 아키타입
__3.2.3 자바FX 애플리케이션 개발
__3.2.4 프로그램 실행하기
__3.2.5 프로젝트의 구성
__3.2.6 애플리케이션 소스 코드
3.3 웹 애플리케이션 개발
__3.3.1 웹 애플리케이션 작성하기
__3.3.2 프로젝트 구성 확인하기
__3.3.3 웹 애플리케이션 실행하기
__3.3.4 JAX-RS로 REST 개발하기
__3.3.5 MyResource.java 확인하기
__3.3.6 pom.xml 확인하기
__3.3.7 maven-jetty-plugin 사용하기
__3.3.8 스프링 부트 애플리케이션 개발
__3.3.9 생성된 클래스 확인하기
__3.3.10 pom.xml 내용 확인하기
3.4 메이븐 확장하기
__3.4.1 dependency 이용하기
__3.4.2 라이브러리 검색하기
__3.4.3 pom.xml 완성하기
__3.4.4 persistence.xml 준비하기
__3.4.5 엔티티 클래스 작성하기
__3.4.6 App 클래스 수정하기
__3.4.7 프로그램 실행하기
__3.4.8 프로젝트 모듈화하기
__3.4.9 모듈의 pom.xml
__3.4.10 빌드 실행하기
__3.4.11 아키타입 작성하기
__3.4.12 아키타입 프로젝트의 구성
__3.4.13 pom.xml 템플릿 작성
__3.4.14 자바 소스 코드 준비하기
__3.4.15 persistence.xml 작성하기
__3.4.16 README 작성하기
__3.4.17 archetype.xml 수정하기
__3.4.18 프로젝트의 pom.xml 확인하기
__3.4.19 아키타입 사용하기
3.5 마치며

[4장 그레이들 입문하기]
4.1 그레이들 기초 지식
__4.1.1 그루비와 그레이들
__4.1.2 그레이들이란
__4.1.3 그루비 준비하기
__4.1.4 환경 변수
__4.1.5 그레이들 준비하기
__4.1.6 환경 변수 설정
__4.1.7 그레이들로 자바 프로젝트 만들기
__4.1.8 jCenter와 저장소
4.2 개발 환경에서 이용하기
__4.2.1 이클립스에서 이용하기
__4.2.2 이클립스에서 그레이들 프로젝트 생성하기
__4.2.3 생성된 프로젝트 살펴보기
__4.2.4 인텔리제이에서 이용하기
__4.2.5 프로젝트 임포트하기
__4.2.6 태스크 실행
__4.2.7 넷빈즈에서 이용하기
__4.2.8 그레이들 프로젝트 작성
__4.2.9 그레이들 프로젝트 이용하기
__4.2.10 기본값으로 포함되는 빌드 파일 알아보기
__4.2.11 개발 환경에서 그레이들 이용하기
4.3 build.gradle의 기본 익히기
__4.3.1 그레이들은 ‘Groovy의 DSL’
__4.3.2 그레이들은 태스크를 실행한다
__4.3.3 doLast와 액션 리스트
__4.3.4 매개변수 이용
__4.3.5 동적 태스크 생성
__4.3.6 java 플러그인 사용하기
__4.3.7 java 플러그인의 태스크
__4.3.8 java 플러그인의 태스크 이용하기
__4.3.9 실행할 수 있는 클래스 준비하기
__4.3.10 유닛 테스트에 관해 알아보기
__4.3.11 gradle test 이용하기
__4.3.12 메이븐 저장소 이용하기
__4.3.13 테스트 리포트

[5장 그레이들 활용하기]
5.1 다양한 프로그램 작성
__5.1.1 일반적인 애플리케이션 개발
__5.1.2 자바FX 애플리케이션 개발
__5.1.3 자바 소스 코드 파일 작성
__5.1.4 build.gradle 이용하기
__5.1.5 네이티브 빌드 알아보기
__5.1.6 웹 애플리케이션 작성
__5.1.7 서블릿 작성하기
__5.1.8 build.gradle 준비하기
5.2 다양한 애플리케이션 작성하기
__5.2.1 이클립스에서 웹 애플리케이션 개발하기
__5.2.2 인텔리제이/넷빈즈에서 웹 애플리케이션 개발하기
__5.2.3 REST 애플리케이션 개발
__5.2.4 build.gradle 작성하기
__5.2.5 스프링 부트 애플리케이션 개발하기
__5.2.6 build.gradle 준비하기
__5.2.7 build.gradle 내용 확인하기
__5.2.8 그루비 애플리케이션 살펴보기
__5.2.9 App.groovy 작성하기
__5.2.10 build.gradle 작성하기
__5.2.11 그루비로 웹 애플리케이션 개발하기
__5.2.12 web.xml 작성하기
__5.2.13 build.gradle 작성하기
5.3 아파치 앤트 이용하기
__5.3.1 ant 객체 사용하기
__5.3.2 앤트 태스크로 컴파일하기
__5.3.3 build.xml 이용하기
__5.3.4 그레이들에서 build.xml 이용하기
__5.3.5 path와 fileset
__5.3.6 파일을 모아서 ZIP 파일로 압축하기
5.4 마치며

[6장 SBT 입문과 활용하기]
6.1 SBT의 기본 지식
__6.1.1 SBT 설치
__6.1.2 스칼라 알아보기
__6.1.3 스칼라 설치하기
__6.1.4 SBT 설치하기
__6.1.5 프로젝트 만들기
__6.1.6 프로젝트의 구성
__6.1.7 소스 코드 파일 준비하기
__6.1.8 build.sbt 작성하기
__6.1.9 컴파일과 실행
__6.1.10 프로그램 실행하기
__6.1.11 프로그램 패키징
__6.1.12 이클립스와 스칼라 IDE 플러그인
__6.1.13 인텔리제이에서 이용하기
6.2 SBT 자유자재로 다루기
__6.2.1 build.sbt 설정 알아보기
__6.2.2 태스크 이용하기
__6.2.3 libraryDependencies 알아보기
__6.2.4 JUnit으로 유닛 테스트하기
__6.2.5 Dependencies.scala 알아보기
__6.2.6 웹 애플리케이션 프로젝트 알아보기
__6.2.7 JSP/서블릿 작성하기
__6.2.8 빌드 파일 작성하기
__6.2.9 동작 확인하기
__6.2.10 스프링 부트 애플리케이션 작성하기
6.3 마치며

[7장 깃/깃허브 입문하기 ]
7.1 버전 관리 시스템 소개
7.2 깃 입문하기
__7.2.1 깃의 파일 관리 방법
__7.2.2 깃의 상태 관리
__7.2.3 깃 클라이언트 설치
__7.2.4 깃 저장소 만들기
__7.2.5 커밋하기
7.3 깃허브 활용하기
__7.3.1 깃허브 가입하기
__7.3.2 첫 저장소 만들기
__7.3.3 원격 저장소에서 가져오기
__7.3.4 버전 관리 대상에서 제외하기
7.4 브랜치 활용하기
__7.4.1 브랜치란?
__7.4.2 병합
__7.4.3 HEAD란?
__7.4.4 충돌
__7.4.5 병합 해결 : non fast-forward
7.5 깃에서 자주 쓰는 명령어 정리
__7.5.1 설정 관련
__7.5.2 저장소 생성
__7.5.3 브랜치관련
__7.5.4 파일 관련
__7.5.5 작업 일시저장
__7.5.6 로그 확인
__7.5.7 커밋 변경
__7.5.8 변경 동기
7.6 마치며

[8장 젠킨스 입문과 활용하기]
8.1 젠킨스 입문하기
__8.1.1 젠킨스 설치
__8.1.2 젠킨스의 기본 구성
__8.1.3 윈도우에 유니코드 적용
8.2 젠킨스 활용하기
__8.2.1 첫 잡 만들어보기
__8.2.2 정적 분석하기
__8.2.3 로컬 환경에서 애플리케이션 배포하기
__8.2.4 원격 환경에 배포하기
__8.2.5 빌드 파이프라인 만들기
__8.2.6 깃허브 훅
__8.2.7 매개변수 전달하기
8.3 소나큐브
__8.3.1 소나큐브 개요
__8.3.2 소나큐브 설치
__8.3.3 젠킨스 사용자 생성
__8.3.4 소나큐브 스캐너 설정
__8.3.5 소나큐브 빌드
8.4 마치며

에필로그 빌드 도구의 미래
[교보문고에서 제공한 정보입니다.]

QuickMenu