본문 바로가기
백엔드기술/개발환경

CI 서버 환경 구축 ① - Jenkins

by RevFactory 2013. 3. 27.

 

AS-IS

기존 개발 방식에선 프로젝트 개발자들은 Subversion을 통해 자신에게 할당된 기능의 코드를 작성하여

Update, Commit 을 통해서 다른 사람들과의 소스코드를 공유하는 방식으로 개발을 진행했습니다.

그리고 개발이 완료된 최종소스는 개발/운영 웹서버로 배포되고 서비스가 시작이 됩니다.

 

프로젝트 초기에 팀원간에 빌드 규칙이나 충분한 공감을 형성하지 못한채 진행이 될때 빌드가 깨져서

복구하는 상황이 빈번하게 발생하기도 하며 현재까지 통합된 소스에 대한 검증이 충분하게 이뤄지지

못하는 것이 사실이었습니다.

 

 

TO-BE

CI서버는 Continuous Integration(지속적인 통합) 의 약자로 빌드 자동화 서버를 의미합니다.

이전에 단순히 컴파일과 같은 것으로 여겨졌던 빌드의 개념이 CI서버에서는 모든 중요한 유효성 검사

및 테스트 단계가 포함되어 이루어지는 것으로 변화하였습니다. CI서버를 통해 자주 통합하고 검증함으로써

최신 코드가 항상 건강한 상태인지 확인 할 수 있으며, 통합주기를 짧게 가져감으로써 오류 발생시

원인 파악을 신속하게 할 수 있는 장점이 있습니다.

 

또한 자동화된 코드 검사를 통해 지속적인 상태 모니터링이 가능하기 때문에 프로젝트관리가 용이하며

항상 배포할 수 있는 소프트웨어 상태를 유지시켜 주기 때문에 이는 기존의 폭포수 방식에서 벗어난

애자일 방법론에서 요구하는 필수 조건이기도 합니다.

 

CI서버의 필요성은 2008년이전부터 부각이 되고 있었습니다만 도입비용과 개발환경 변화에 대한 소극적인

태도로 인해 아직까지도 CI서버에 대한 인식이 부족한 것 같아 이렇게 정리를 합니다.

 

 

사전 환경 셋팅

- Java 설치

- Tomcat 설치

- Subversion 설치

- Maven 설치

- ANT 설치

 STEP1. Jenkins

 

1. 다운로드

 - http://jenkins-ci.org/

 - WAR 파일과 운영체제별 패키지로 구분하여 제공합니다.

 

2. 설치

 - WAR 파일 :

   톰캣의 webapps 폴더에 복사한 뒤 톰캣을 재시작하거나 톰캣 매니저에서 WAR파일을 등록하면

   설치가 완료되며 http://localhost:8080/jenkins 와 같은 주소로 Jenkins를 시작할 수 있습니다.

   URL 뒷부분은 war 파일 이름에 의해 결정됩니다.

   * 톰캣 매니저로 등록시 파일 업로드 제한이 있으므로 확인 후 수정이 필요합니다.

     webapps\manager\WEB-INF\web.xml


      52428800
      52428800
      0

 

 

 - 패키지 파일 : 설치 후 지정된 포트로 Jenkins를 시작할 수 있습니다.

 

3. 환경설정

 - 빌드를 위한 Jenkins 설정을 변경합니다.

 - Jenkins 관리 -> 시스템 설정

 

 

 - JDK, ANT, MAVEN 홈 디렉토리 지정

 - Jenkins URL 지정

 

 

 

4. 프로젝트 빌드 설정

 - 빌드를 위한 새로운 JOB을 생성합니다.

 - 예제에서는 간단한 설정만 하도록 하겠습니다.

 - Maven 프로젝트를 빌드할 예정이므로 두번째 옵션을 선택합니다.

 

 

 

 

 - 프로젝트 소스 버젼을 관리중인 Subversion 을 선택합니다

 - Subversion 주소를 입력합니다

 

 

 

 

 - 프로젝트 빌드 정보는 MAVEN 기반프로젝트이므로 pom.xml에 명시되어 있습니다

 - 옵션은 아래와 같이 설정합니다.

    * 참고로 현재 tomcat-maven 플러그인 설정이 pom.xml 에 설정되어 있어야 합니다.

 

 

 

 

 - pom.xml 에 아래와 같이 플러그인이 추가되어 있어야 합니다.



  org.apache.maven.plugins
  maven-war-plugin
  2.1.1
  
      src/main/webapp
      src/main/webapp/WEB-INF/web.xml
  



  org.codehaus.mojo
  tomcat-maven-plugin
  1.1
  
      http://localhost:8080/manager/text
      /example
      username
      password
  

 

 

5. 빌드 실행하기

 - 프로젝트를 선택하고 Build Now 를 클릭하면 빌드를 수동으로 시작할 수 있습니다.

 - 또한 Build History 목록을 선택하고 콘솔 출력 결과 를 누르면 실시간으로 콘솔을 확인 할 수 있습니다.

 

 

6. 플러그인 설치

 - PMD