메뉴 건너뛰기

이 문서는 Jenkins, Git, SVN, Ant Build를 이용하여 빌드 자동화 CI 서버 구축에 대한 예제를 다룹니다. 이번 2부에서는 Jenkins, SVN, Ant Build를 통한 자동화 구성에 대해서 소개합니다.


이 문서는 다음과 같이 3가지로 파트로 진행될 예정입니다. 


이 문서에 따라 실습을 해보시기 위해서는 다음의 준비사항이 필요합니다. 
  • Java SDK 설치
  • Ant 설치
  • SVN 저장소
  • Ant Build를 위한 코드
이 문서의 중간부분에 Ant Build를 위한 간단한 샘플 코드의 링크를 제공하고 있으니, 없으신 분들은 참고하시기 바랍니다.

Jenkins 글로벌 설정

Ant 빌드를 실행하기 위해서는 Jenkins에 Ant 빌드를 위한 설정이 되어 있어야 합니다. 
먼저 체크를 해야할 사항은 Jenkins > Jenkins 관리 > Global Tool Confliguration 입니다.

JDK 설정

기본적으로 JDK는 install automatically로 설정되어 있습니다. 만약 Jenkin를 구동하는 서버에 JDK가 설치되어 있따면, 아래와 같이 JAVA_HOME 정보를 입력해줍니다. 

jdk.png

Ant 설정

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


ant.png


Jenkins Job 구성

Job 생성

Jenkins Job 혹은 프로젝트 혹은 아이템의 다양한 이름으로 불리는데, 본 문서에는 Job으로 통일하도록 하겠습니다. 

새로운 Job을 만들기 위해 Jenkins의 대시보드에서 "새로운 아이템"이라는 메뉴를 선택합니다. 


다음 그림과 같이 다양한 유형의 아이템을 선택할 수 있는데, 여기서는 Freestyle Project로 선택해줍니다. 

그리고 library라는 이름으로 작성합니다. jenkinsjob.png


샘플 소스코드 다운로드

만약 Ant 빌드를 지원하는 코드가 있다면 해당 코드로 바로 테스트를 해보실 수 있고, 없으시다면 다음 링크에서 다운로드를 받으시고 SVN 저장소에 Commit 하시면됩니다.

  • https://bitbucket.org/curvc/antpro/downloads

소스코드 관리 설정

소스코드는 SVN을 통해서 자동으로 체크아웃됩니다. 이를 설정하기 위해서는 소스코드관리 영역에서 Subversion을 선택하고 다음과 같이 구성할 수 있습니다. 


jenkinsjob01.png


Repository URL은 SVN의 저장소 주소를 입력하시면 됩니다.

Credentials은 SVN의 로그인 정보를 Add를 통해 추가합니다. 


빌드 유발

빌드 유발은 말그데로 언제 빌드가 수행될것인가를 설정합니다. 다음 그림은 SCM을 지켜보고 있다가 변경 사항이 있으면 빌드를 수행하는 Poll SCM으로 설정하였습니다. 이외에도 다른 빌드 후 수행이라던지 주기적인 수행 등을 설정할 수 있습니다. Schedule은 얼마 단위로 수행할 것 인지를 시간 설정을 할 수 있습니다. 아래 예시는 5분 단위로 Polling을 수행할 수 있게 해줍니다. 


jenkinsjob02.png


빌드

빌드는 실제적으로 빌드하는 방법에 대하여 다룹니다. 이는 배치 실행이라, Shell 실행, Ant, Gradle 등의 다양한 빌드 방법을 추가할 수 있습니다. 여기서는 Invoke Ant를 추가합니다. 

그리고 Ant Version에는 상위에 글로벌 설정에서 설정해준 Ant 이름을 선택해줍니다. 

Targets 샘플 코드를 사용한다면, compile과 compile-tests를 차례로 입력해줍니다. 


jenkinsjob03.png


빌드 후 조치

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

jenkinsjob04.png


간단하게 당장 빌드를 수행할 수 있는 준비가 끝났습니다. 해당 설정 값을 저장하고 빌드 수행을 해봅니다.


빌드 수행

빌드 수행을 위해 해당 빌드 잡에서 Build Now를 클릭 해줍니다. 그러면 Build History에 빌드가 진행되는 상황이 표현됩니다. 


jenkinsjob05.png


만약 빌드 에러가 났다면, 해당 빌드를 클릭하고 위의 그림에서 #9 부분입니다. Console Output을 선택하여 빌드에 대한 로그를 확인합니다. 이를 통해 문제가 생긴 부분을 확인하고 수정할 수 있습니다. 


이것으로 2부를 마치고 이어 3부에서 상위에서 제시한 샘플 코드를 Git 저장소를 Polling하여 빌드 자동화를 구축하는 방법에 대해서 설명하도록 하겠습니다. 

?

 


  1. Jenkins로 Ant Build 자동화 구축 - 3부 Jenkins + Git + Ant Build 구성하기

    이 문서는 Jenkins, Git, SVN, Ant Build를 이용하여 빌드 자동화 CI 서버 구축에 대한 예제를 다룹니다. 이번 3부에서는 Jenkins, Git, Ant Build를 통한 자동화 구성에 대해서 소개합니다. 2부에 SVN 설정 부분을 Git으로 변경해주면 자동화 구성은 완료됩니...
    Date2016.12.01 Category빌드관리 ByPSEG Reply0 Views3966
    Read More
  2. Jenkins로 Ant Build 자동화 구축 - 2부 Jenkins + SVN + Ant Build 구성하기

    이 문서는 Jenkins, Git, SVN, Ant Build를 이용하여 빌드 자동화 CI 서버 구축에 대한 예제를 다룹니다. 이번 2부에서는 Jenkins, SVN, Ant Build를 통한 자동화 구성에 대해서 소개합니다. 이 문서는 다음과 같이 3가지로 파트로 진행될 예정입니다. ...
    Date2016.11.30 Category빌드관리 ByPSEG Reply0 Views12461
    Read More
  3. Jenkins로 Ant Build 자동화 구축 - 1부 Jenkins 개요와 설치

    이 문서는 Jenkins, Git, Ant Build를 이용하여 빌드 자동화 CI 서버 구축에 대한 예제를 다룹니다. 요즘 추세가 Maven이나 Git을 사용하고 있지만, 쉽게 개발 환경을 전환하지 못하는 조직이 많이 있어 SVN과 Git 연동에 대한 모두를 다루고자 합니다. ...
    Date2016.11.30 Category빌드관리 ByPSEG Reply0 Views7007
    Read More
  4. 베스트 레드마인 테마 6

    이런 레드마인 디폴트 테마에 식상하신 분들을 위한 정보입니다. 레드마인은 쉽게 테마를 바꿀 수 있습니다. 레드마인 테마 베스트 6를 소개 드립니다. 오늘 바꿔보세요. 레드마인 테마 변경 방법테마별로 조금은 다를 수 있지만 일반적인 ...
    Date2015.09.08 Category프로젝트&이슈관리 ByPSEG Reply2 Views14722
    Read More
  5. 프로젝트 관리도구 버그지니(The Bug Genie) 퀵 리뷰

    이 문서는 프로젝트 관리 및 버그 트래킹 시스템인 버그지니(The Bug Genie)에 대한 리뷰를 위해 작성되었다. 1. 개요버그지니는 무료 오픈 소스의 웹기반의 프로젝트 관리 및 버그 추적 시스템이다. 버그지니는 Daniel Andre Eikeland, Ray Jensen, Phiip Ken...
    Date2015.04.07 Category프로젝트&이슈관리 ByTom Reply0 Views10298
    Read More
  6. 유용한 Top 5 레드마인 (Redmine) 플러그인 소개

    레드마인 (Redmine)에 유용한 5가지 best plugin을 소개 드립니다. Monitor & Controlling 테스크, 투입시간, 리소스 현황을 프래프를 이용해 한 눈에 파악할 수 있게 도와주는 플러그인 입니다. http://www.redmine.org/plugins/monitoring-contr...
    Date2015.01.07 Category프로젝트&이슈관리 ByPSEG Reply3 Views35091
    Read More
  7. Redmine과 연동되는 무료 테스트 관리 도구들

    Redmine과 연동되는 오픈소스 테스트 관리 도구들은? Klaros-Testmanagement: The free Community Edition of Klaros-Testmanagement supports the integration with Redmine. TestCaseDB: TestCaseDB is an open source test case managemen...
    Date2014.12.09 Category테스트 ByTerry Reply0 Views7322
    Read More
  8. 클라우드 기반 요구사항 관리 도구 ReqVIew 리뷰

    체코의 Eccam s.r.o사는 자동차 네비게이션, 임베디드와 모바일 시스템, 컴퓨터 그래픽, 비전 분야에서 고성능을 위한 소프트웨어 개발에서 노하우를 기반으로 요구사항 관리 시스템인 ReqView를 개발하고 있다. ReqView는 웹 및 오프라인에서 사용할 수 있...
    Date2014.09.16 Category요구사항관리 ByPSEG Reply0 Views11234
    Read More
  9. 세계 점유율 1위의 요구사항 관리 도구 DOORS 리뷰 - 2부

    4.4 요구사항 Import/ExportDOORS의 강력한 기능 중에 하나는 바로 Import/Export 기능이다. Import는 Plain Text, Rich Text, Spreadsheet, Framemaker로부터 가능하며, Export는 아래 그림처럼 Word, Excel, Outlook, HTML, 등 수 많은 포멧으로 가능하다. ...
    Date2014.05.07 Category요구사항관리 ByPSEG Reply0 Views13892
    Read More
  10. 세계 점유율 1위의 요구사항 관리 도구 DOORS 리뷰 - 1부

    Standish Group Report에 따르면, 프로젝트의 성공과 실패를 좌우하는 요소들의 40%가 요구사항과 관련되어 있다. 성공을 위해서도 요구사항 정의 및 관리를 잘해야하며, 실패를 하지 않기 위해서도 요구사항 정의 및 관리를 잘해야 한다. 일반적으로 부실하게...
    Date2014.05.07 Category요구사항관리 ByPSEG Reply0 Views11307
    Read More
Board Pagination Prev 1 2 Next
/ 2