IT 바깥세상에서 볼 때 소프트웨어 개발은 멋진 첨단 직종일지 몰라도 그 안에서 일하는 사람들은 스스로가 반복되는 단순 작업에 소모되고 있다고 느낍니다. 아침저녁으로 변하는 고객의 마음(요구 사항), 코드 몇 줄 고쳤더니 생기는 충돌, 내 개발 환경에서 빌드하면 잘 되는 것 같은데 배치만 하려고 하면 버그덩어리로 돌변하는 소프트웨어, 그야말로 고행(苦行)의 연속입니다.

이는 소프트웨어 개발의 여러 과정, 즉 형상 관리, 빌드, 테스트, 배치 등이 각자 따로 수작업에 의존해 처리되는 데 기인한 바가 큽니다. 마틴 파울러는 이에 대한 대안으로 ‘지속적 통합(continuous integration, 이하 CI)’이라는 개념을 제시합니다. 앞서 언급한 개발 과정을 자동화하고 각 과정을 유기적으로 연계하는 활동을 끊임없이 실행하는 것입니다.

이러한 CI를 자기 상황에 맞게 직접 구현해 쓰면 이상적이겠지만 현실에서는 시간과 정신력이 허락하지 않는 일이므로 대개 CI 소프트웨어를 쓰게 됩니다. 이번에 소개할 책은 바로 CI 소프트웨어인 허드슨을 다룬 『허드슨을 이용한 지속적 통합』입니다. 허드슨은 썬에서 개발한 오픈 소스 소프트웨어로 오라클에 인수된 후 현재는 이클립스 재단에서 관리되고 있고 상용 CI 도구 못지않은 기능과 확장성 덕에 널리 쓰이는 대표적인 CI 도구입니다.

CI가 매력적이기는 하지만 여러 가지 소프트웨어 개발 과정이 엮여 있다 보니 어디에서부터 공부를 시작해야 할지 막막한 게 사실입니다. 『허드슨을 이용한 지속적 통합』에서는 CI의 기초 개념부터 허드슨 설치·설정·운영 기본 지식, 소프트웨어를 본격적으로 개발하면서 거치게 되는 형상 관리·빌드·테스트·보고·배치 과정을 허드슨과 연계하는 법, 허드슨 기능을 확장하고 싶을 때 유용한 플러그인 개발 등을 차근차근 다룹니다. 한편 허드슨은 젠킨스와 분가(?) 사건을 겪기도 했는데 책에서 설명한 주요 내용은 대부분 젠킨스와도 호환되므로 젠킨스를 공부할 때도 어느 정도 참고할 수 있습니다.

『허드슨을 이용한 지속적 통합』 집필은 여러 IT 프로젝트를 수행하면서 실제로 허드슨을 도입하고 정착시키는 데 많은 노력을 기울여온 장윤기 님이 맡아주셨습니다. 허드슨 자체에 대한 기술적인 내용 외에도 장윤기 님의 경험과 허드슨에 대한 애정을 엿볼 수 있습니다.

구입처

교보문고

알라딘

인터파크

반디앤루니스

Yes24

11번가

리브로