이 문서는 Jenkins, Git, SVN, Ant Build를 이용하여 빌드 자동화 CI 서버 구축에 대한 예제를 다룹니다. 이번 2부에서는 Jenkins, SVN, Ant Build를 통한 자동화 구성에 대해서 소개합니다.
이 문서는 다음과 같이 3가지로 파트로 진행될 예정입니다.
- Java SDK 설치
- Ant 설치
- SVN 저장소
- Ant Build를 위한 코드
Jenkins 글로벌 설정
JDK 설정

Ant 설정
다음은 Ant 빌드를 위한 설정입니다. Ant 또한 자동 설치 옵션이 있지만, 서버에 특정 폴더에 설치를 하고 사용한다면 그림과 같이 ANT_HOME 경로와 이름으로 Ant 버전을 입력해 줍니다. 이는 나중에 빌드 Job을 생성할 때 이용됩니다.

Jenkins Job 구성
Job 생성
Jenkins Job 혹은 프로젝트 혹은 아이템의 다양한 이름으로 불리는데, 본 문서에는 Job으로 통일하도록 하겠습니다.
새로운 Job을 만들기 위해 Jenkins의 대시보드에서 "새로운 아이템"이라는 메뉴를 선택합니다.
다음 그림과 같이 다양한 유형의 아이템을 선택할 수 있는데, 여기서는 Freestyle Project로 선택해줍니다.
그리고 library라는 이름으로 작성합니다.
샘플 소스코드 다운로드
만약 Ant 빌드를 지원하는 코드가 있다면 해당 코드로 바로 테스트를 해보실 수 있고, 없으시다면 다음 링크에서 다운로드를 받으시고 SVN 저장소에 Commit 하시면됩니다.
- https://bitbucket.org/curvc/antpro/downloads
소스코드 관리 설정
소스코드는 SVN을 통해서 자동으로 체크아웃됩니다. 이를 설정하기 위해서는 소스코드관리 영역에서 Subversion을 선택하고 다음과 같이 구성할 수 있습니다.
Repository URL은 SVN의 저장소 주소를 입력하시면 됩니다.
Credentials은 SVN의 로그인 정보를 Add를 통해 추가합니다.
빌드 유발
빌드 유발은 말그데로 언제 빌드가 수행될것인가를 설정합니다. 다음 그림은 SCM을 지켜보고 있다가 변경 사항이 있으면 빌드를 수행하는 Poll SCM으로 설정하였습니다. 이외에도 다른 빌드 후 수행이라던지 주기적인 수행 등을 설정할 수 있습니다. Schedule은 얼마 단위로 수행할 것 인지를 시간 설정을 할 수 있습니다. 아래 예시는 5분 단위로 Polling을 수행할 수 있게 해줍니다.

빌드
빌드는 실제적으로 빌드하는 방법에 대하여 다룹니다. 이는 배치 실행이라, Shell 실행, Ant, Gradle 등의 다양한 빌드 방법을 추가할 수 있습니다. 여기서는 Invoke Ant를 추가합니다.
그리고 Ant Version에는 상위에 글로벌 설정에서 설정해준 Ant 이름을 선택해줍니다.
Targets 샘플 코드를 사용한다면, compile과 compile-tests를 차례로 입력해줍니다.

빌드 후 조치
빌드 후 조치는 모든 빌드가 종료된 후에 어떠한 작업을 할 것 인지를 설정합니다. 저가 준비한 샘플 코드는 Junit 테스트가 포함되어 있고, Junit의 테스트 결과를 입력할 수 있습니다.

간단하게 당장 빌드를 수행할 수 있는 준비가 끝났습니다. 해당 설정 값을 저장하고 빌드 수행을 해봅니다.
빌드 수행
빌드 수행을 위해 해당 빌드 잡에서 Build Now를 클릭 해줍니다. 그러면 Build History에 빌드가 진행되는 상황이 표현됩니다.

만약 빌드 에러가 났다면, 해당 빌드를 클릭하고 위의 그림에서 #9 부분입니다. Console Output을 선택하여 빌드에 대한 로그를 확인합니다. 이를 통해 문제가 생긴 부분을 확인하고 수정할 수 있습니다.
이것으로 2부를 마치고 이어 3부에서 상위에서 제시한 샘플 코드를 Git 저장소를 Polling하여 빌드 자동화를 구축하는 방법에 대해서 설명하도록 하겠습니다.