💚 빌드 관리 도구

  • JVM이나 WAS가 프로젝트를 인식하고 실행할 수 있게 우리가 작성한 소스코드와 프로젝트에서 사용된 파일들 (.xml, .jar, .properties)을 빌드하는 도구
  • 관리할 라이브러리가 많아지고 라이브러리 간 버전 호환성을 체크해야하는 어려움 발생
    → 이것을 관리해주는 것이 빌드관리도구

💚 pom.xml(Project Object Model)

  • 메이븐의 기능을 사용하기 위해 작성하는 파일
  • 프로젝트, 의존성 라이브러리, 빌드 등의 정보 및 해당 프로젝트를 관리하는데 필요한 내용이 기술 돼있음

💚 메이븐(Maven)

  • 아파치 메이븐
  • pom.xml 파일에 필요한 라이브러리를 추가하면 해당 라이브러리에 필요한 라이브러리까지 함께 내려받아 관리한다.

메이븐의 기능

  • 프로젝트 관리 : 프로젝트 버전과 아티팩트를 관리
  • 빌드 및 패키징 : 의존성 관리 및 설정된 패키지 형식으로 빌드를 수행
  • 테스트 : 빌드를 수행하기 전 단위 테스트를 통해 작성 된 애플리케이션 코드의 정상 동작 여부 확인
  • 배포 : 빌드가 완료된 패키지를 원격 저장소에 배포

메이븐의 생명주기

  • 메이븐에서 제공하는 플로그인이 설정된 목표를 수행하는 방식으로 동작
  • 생명주기 단계는 순차적으로 실행
  • 기본 생명주기(Default Lifecycle)
    • validate : 프로젝트 빌드시 필요한 모든 정보의 사용가능성을 검토
    • compile : 프로젝트의 소스코드를 컴파일
    • test : 단위 테스트 프레임워크를 사용 하여 테스트 실행
    • package : 컴파일 한 코드를 가져와 JAR 등의 형식으로 패키징 수행 → 파일 생성
    • verify : 패키지가 유효하여 일정 기준을 충족하는지 확인
    • install : 프로젝트 사용 시 필요한 패키지를 로컬 저장소에 설치
    • deploy : 프로젝트를 통합 or 릴리스 환경에서 다른 곳에 공유하기 위해 원격 저장소에 패키지 복사
  • 클린 생명주기(Clean Lifecycle)
    • clean : 이전 빌드가 생성한 모든 파일을 제거
  • 사이트 생명주기(Site Lifecycle)
    • site : 메이븐 설정 파일 정보 기반 프로젝트 문서 사이트 생성
    • site-deploy : 생성된 사이트 문서를 웹 서버에 배포

0개의 댓글