오픈소스 파워 툴

생산성을 높여주는 오픈소스 개발환경 구축과 관리

한동준, 김도균 저

요구사항부터 지속적 통합까지 소프트웨어 개발 환경을 구성하는 오픈소스 ALM 도구를 다룬다. DevOps와 비교하자면 Dev, 즉 개발과 관련한 도구를 다룬다. Ops, 즉 지속 배포, 서버 관리, 모니터링은 이 책에서 다루지 않는다. 이 책의 목적은 Jenkins, PMD, Git 등 오픈소스 ALM 도구의 설치, 필수 설정, 기본 사용 방법을 쉽게 설명하는 것에 있다.


도서 상세

분야: [프로그래밍, 데이터베이스 & 빅데이터]

출간일: Jul 5, 2017

페이지: 356

도서정가: 27,000 원

ISBN: 9781187497042

부가 정보


관련 도서

출판사 서평

이 책에서 다루는 대상 도구는 다음과 같다.

  • 이슈/요구사항/결함 관리: Redmine, Mylyn
  • 버전 관리: Subversion, Git, SCMManager
  • 지속 통합: Jenkins
  • 빌드 관리: Maven
  • 소스코드 품질 관리: PMD, JavaNCSS, JDepend
  • 테스트 자동화: JUnit, Cobertura
  • 애플리케이션 배포: NSIS

DevOps와 비교하자면 Dev, 즉 개발과 관련한 도구를 다룬다. Ops, 즉 지속 배포, 서버 관리, 모니터링은 이 책에서 다루지 않는다. 다만, Jenkins와 같은 도구는 DevOps 전반을 이해하는데 도움이 된다. 이 책의 목적은 Jenkins, PMD, Git 등 오픈소스 ALM 도구의 설치, 필수 설정, 기본 사용 방법을 쉽게 설명하는 것이다.

각 도구의 고유 기능과 서로 연동하는 부분을 도구 별로 설명했지만, 실제 개발은 이 도구가 톱니바퀴처럼 엮어서 진행한다. 14장은 실제 프로젝트를 시작한다는 가정 하에, 전체 도구를 함께 사용하는 시나리오를 설명한다. 도구에 대한 각론과 함께 큰 그림을 이해할 수 있다. 개발과 관련한 부분은 소프트웨어의 특성 상 개발 언어와 밀접하게 연관된다. 이 책에서 설명하는 빌드, 소스코드 품질 관리, 테스트 자동화는 Java 개발이 대상이다. 그러나 이슈 관리, 버전관리, 지속 통합은 개발 언어에 상관없이 적용할 수 있다. 저자는 이 도구를 임베디드 소프트웨어 개발에 잘 적용하고, C 언어를 위한 품질 관리 및 테스트 자동화 도구와 연동해서 사용하고 있다. 이 책의 내용을 이해하면, 개발 언어와 상관없이 이 도구를 적용할 수 있다.

대상 독자
- 소프트웨어 개발에 오픈소스 ALM 도구를 처음 적용하는 개발자
- 소스코드 품질 수준에 관심있는 QA
- DevOps 구현을 고민하는 관리자


저자 소개

한동준 : KTDS, KTH, LS 산전에서 통신사 SI/SM, 모바일 앱, 임베디드 SW의 QA로 활동하고, 지금은 소프트웨어 안전성 보증 연구센터에서 다양한 분야의 오픈소스 ALM 적용을 지원하고 있다. CMMI, SPICE, A-SPICE 심사원이기도 하며 도구와 프로세스의 적절한 조화를 추구한다. 독립 IT 기술자의 저술 및 강연 상호부조 네트워크인 GoDev(www.godev.kr)의 일원이다.

김도균 : 2012년 대기업의 고용된 엔지니어로 15년간의 삶을 정리하고 독립 IT 기술자가 되어 4 년째 자기 시간의 주인으로 포트폴리오 인생을 살고 있다. ‘강철벼룩’이라는 필명으로 글을 쓰고 번역하는 엔지니어다. Microsoft의 공인 강사(MCT)이며 ‘Office Servers and Services’와 ‘Visual Studio and Development Technologies’ 분야의 MVP이다. 독립 IT 기술자의 저술 강연 상호부조 네트워크인 GoDev(www.godev.kr)의 리더이다.

1장 ALM

2장 Java의 대표 빌드 도구, Maven

3장 소스 코드 버전 관리의 전통, Subversion

4장 오픈소스 버전 관리의 대세, Git

5장 소스 코드 버전 관리 만능키, SCMManager

6장 프로젝트 통합을 도와주는 집사, Jenkins

7장 JUnit

8장 테스트가 부족한 소스 코드는 어디일까 - Cobertura

9장 소스 코드 체력단련, PMD

10장 JavaNCSS

11장 JDepend

12장 똑똑한 개발 관리, Redmine

13장 Mylyn

14장 오픈소스 ALM 적용 시나리오

15장 NSIS