메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

Enterprise Flex RIA 해부(5) : 빌드 수명주기

한빛미디어

|

2008-08-12

|

by HANBIT

10,091

제공 : 한빛 네트워크
저자 : Tony Hillerson
역자 : 임영섭
원문 : Anatomy of an Enterprise Flex RIA Part 5: Build Life Cycle

지난 기사에서는 Maven 프로젝트 구조에 대해 자세히 살펴보았다. 이번 기사에서는 Maven 빌드 수명 주기와, 그 테스트들이 예제 애플리케이션의 어느 위치에 놓여 지는지 살펴보고자 한다. Maven이 정의하는 빌드 수명 주기는 빌드 프로세스를 구성하는 이벤트의 집합으로 볼 수 있다. 이런 빌드 수명 주기의 각기 다른 점에서 Maven을 구성할 수 있으며 더 나아가서 Ant와 함께 Maven을 확장하여 사용할 수 있다.

[표 3]은 열거한 Maven의 웹사이트 http://maven.apache.org 에서 볼 수 있는 모든 Maven 수명 주기를 나열하고 있다.

수명주기 단계 설명
Validate 프로젝트가 정확한지 모든 필요한 정보가 이용 가능한지 확인하기
generate-sources 컴파일 과정에 포함시킬 소스 코드를 생성하기
process-sources 소스코드 처리하기(예: 특정 값을 필티링하기)
generate-resources 패키지에 포함시킬 자원을 생성하기
process-resources 패키지를 만들기 위해 자원을 목적 디렉토리에 복사하고 처리하기
Compile 프로젝트의소스 코드를 컴파일하기
process-classes 컴파일 과정을 통해 생성된 파일을 사후처리하기(예: 자바 클래스에 대하여 바이트코드 강화작업(bytecode enhancement)을 함)
generate-test-sources 컴파일 과정에 포함시킬 테스트 소스 코드 생성하기
process-test-sources 테스트 소스 코드 처리하기(예: 특정 값을 필터링하기)
generate-test-resources 테스트를 하기 위한 자원 만들기
process-test-resources 테스트 목적 디렉토리로 자원을 복사하고 처리하기
test-compile 테스트 소스 코드를 테스트 목적 디렉토리로 컴파일하기
Test 적합한 단위 테스트 프레임워크를 사용하여 테스트 수행하기. 테스트에 사용한 코드를 패키지하거나 배치해서는 안 됨
prepare-package 실제로 패키지 작업을 하기 전에 패키지 준비에 필요한 연산 수행하기. 이 과정에서 종종 처리는 끝났지만 포장되지 않은(unpacked) 버전의 패키지를 만들어낸다. (Maven 2.1 이후 버전)
Package 컴파일된 코드를 선택하여 JAR같은 형태의 구분 가능한 포맷으로 패키지하기
pre-integration-test 통합 테스트를 실행 하기 앞서 필요한 액션 수행하기. 요구되는 환경을 설정하는 일등을 수반할 수 있음
integration -test 패키지를 처리하고 배치하기, 필요하다면 통합테스트 실행 가능한 환경으로 배치할 수 있음
post-integration-test 통합테스트 실행 후에 필요한 액션을 수행하기. 이것은 통합테스트 실행 환경을 정리하는 것을 포함할 수 있음
Verify 패키지가 유효한지 품질 기준을 만족하는지를 검증하기 위한 검사를 실행하기
Install 패키지를 지역 저장소에 설치하기. 다른 프로젝트가 해당 패키지를 종속적으로 그리고 지역적으로 사용하기 위함
Deploy 통합, 배포 환경 끝내기. 최종 패키지를 다른 개발자와 프로젝트에서 공유하기 위해 원격 저장소에 복사함
[표 3] MAVEN 수명주기


[그림 14] 지금까지 테스트에 사용한 클래스와 자원들

이러한 테스트는 너무 간단하다. 그러나 어떠한 테스트되지 않은 코드가 불시에 나타날 수 있음을 기억해야 한다. 그것은 마치 다가 올 시험에 너무도 걱정스러운 나머지 매일 밤 열심히 공부한 고교생과도 비교된다. 시험이 끝나 최고점수를 받은 후 ‘이렇게나 시험이 쉬울 줄 알았으면 시험공부를 그렇게 열심히 안하는 건데 !“라고 생각하는 것과 같다. 간단히 지나칠 만한 테스트를 여러 번 수행하는 것은 작문 테스트를 준비하는 시간낭비가 아니다. 그것은 위험을 보상하는 과정이다. 코드에 가해지는 변화는 복잡한 위치에서 뿐만 아니라 단순한 위치에서도 일을 그르칠 수 있다.

장황한 설명은 이만하면 충분하다. 이런 엔티티를 자바에서 플렉스로 더욱 근접하게 하기 위한 또 다른 스텝으로 나아가기 위해 서비스 레이어를 증축하는 과정을 지켜 보자. .Ant 태스크를 사용하여 빌드를 커스터마이즈하기 위한 두 개의 수명 주기 단계는 데이터 프로젝트의 process-resources 단계와 웹 프로젝트의 compile 단계이다.

다음 기사에서는 프로젝트를 분석하여 프로젝트 코드를 빌드하는 과정을 Maven을 이용하여 어떻게 자동화시키는지 제시하는 것으로 시작하려 한다. 여기를 클릭하면 전체 시리즈(영문)를 볼 수 있다.
TAG :
댓글 입력
자료실

최근 본 책0