SpringBoot

Maven 이란?

공부처음하는사람 2024. 8. 28. 02:18

 

개발자들이 단순, 반복적으로 실행하는 빌드 작업을 자동화하여 업무를 효율화 하기 위해 생겨났다.

 

개발환경을 구축하는데 있어서 빌드 환경 자동화 말고 중요한 포인트가 있다.

1. 빌드 환경 자동화

2. 통합 개발 환경 구축 (이클립스, 인텔리제이)

3. 형상관리 툴 구축 (git, svm같이 문서 관리 툴)

4. CI 툴 구축 (젠킨스 등)

 

프로젝트 시작 시기에 업무분석과 설계작업을 시작하면서 개발환경까지 구축하는데 어느정도 시간이 소요된다.

프로젝트에 참여하는 개발자들이 개발 환경에 익숙해질 수 있도록 교육을 하거나 여분의 시간을 할애해야한다.

이를 통해 단기적으로 속도가 떨어질 수 있지만 장기적으로 봤을 때 효율성을 극대화 시킬 수 있다.

또한 핵심 업무에 많은 시간을 투자할 수 있는 여유를 만들어주기도 한다.

 

프로젝트 간 의존관계

프로젝트를 처음 시작 할 땐, 규모가 작기 때문에 하나의 프로젝트를 계획하는것으로 충분하다.

그러나 시간이 지나면서 프로젝트의 규모는 점점 더 커지게 되고, 재사용성을 높이기 위한 다양한 시도를 수행하게 된다.

프로젝트 수가 증가하면서 점점 더 증가하는 프로젝트의 복잡도를 효율적으로 관리하려면 개발 환경의 개선이 절실한 상황이다.

 

 이러한 문제점을 자동으로 알아서 관리해주는 빌드 툴을 사용함으로써 개발자들은 더이상 이런 복잡한 문제를 해결하는데

시간을 할애할 필요가 없게 되고 비즈니스 로직에 더욱 신경을 쓸 수 있게 되는 것이다.

 

주요 기능

1. 빌드

2. 문서화

3. 리포팅

4. 의존관계

5. 소스코드 관리

6. 릴리즈

7. 배포

 

주요 이점

 

1. 편리한 의존 관계 라이브러리 관리 기능

2. 일관된 디렉토리 구조와 빌드 프로세스 유지

3. 다양한 플러그인 활용

4. 프로젝트 템플릿의 제작

 

이상적인 개발환경

1. 개발환경 설치 자동화

2. 프로젝트 초기 구축 자동화

3. 지속적 통합 툴을 활용한 자동화