반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스프링
- resultMap
- java
- Javascript
- assertThat
- mybatis
- 스프링 부트
- kafka
- 스프링 프레임워크
- thymeleaf
- springboot
- 스프링 컨테이너
- spring
- SQL
- 필드 주입
- assertThrows
- DI
- 스프링 빈
- Effective Java
- 스프링부트
- 스프링 부트 입문
- DIP
- jdbc
- JPA
- 싱글톤
- db
- @Configuration
- sqld
- 생성자 주입
- 스프링 부트 기본
Archives
- Today
- Total
선 조치 후 분석
Maven과 Nexus 개념 그리고 필요성은? 본문
728x90
반응형
SMALL
넥서스(Nexus)
- Apach Maven 프로젝트와 관련된 중앙 저장소 관리 시스템으로, Nexus는 이 프로젝트에 필요한 종속성(의존성)
파일을 저장하고 관리하는 중앙 저장소 역할
소프트웨어 저장소 관리 시스템
소프트웨어 개발에서 사용되는 다양한 라이브러리, 의존성 및 아티팩트를 효율적으로 관리하고 저장하는 데 사용 Maven, npm, Docker, 등 다양한 패키지 형식을 지원, Proxy Repository, Host Repository, 보안 기능 등 포함
Maven
-Apach 재단에서 개발한 자바 프로젝트를 위한 강력한 빌드 및 프로젝트 관리 도구
1. 프로젝트 생명주기 관리 : 프로젝트의 전체적인 라이프사이클을 관리
2. 의존성 관리 : 필요한 라이브러리와 그 의존성을 자동으로 다운로드 및 관리
3. 표준화된 프로젝트 구조 : 일관된 프로젝트 구조를 제공하여 개발자 간 협업을 용이하게 해 줌
4. 빌드 자동화 : 소스 코드 컴파일, 테스트, 패키징, 배포 등의 과정을 자동화
5. 플러그인 기반 : 다양한 플러그인을 통해 기능을 확장
Maven의 핵심 파일은 pom.xml이며, 이를 통해 프로젝트의 설정, 의존성, 빌드 과정 등을 정의
Maven의 빌드 과정은 주로 Compile, Test, Package 순서로 진행
*compile : src/main/java 디렉터리 아래의 모든 소스 코드가 컴파일
Nexus (Repository Manager)
- Sonatype에서 만든 저장소 관리자 프로젝트
- 다양한 format의 사설 저장소를 만들 수 있으며 메인 저장소를 Cache 할 수 있는 기능 또한 제공하여
저장소를 관리할 수 있도록 도와주는 관리자 도구 - Maven에서 사용할 수 있는 가장 널리 사용되는 무료 저장소
필요성
- 회사/단체의 화이트 리스트로 인해 외부 레포지토리에 접속하기 어려운 경우에 Proxy의 역할
- 비상시 외부 인터넷이 느리거나 레포지토리가 다운되는 등 여러 상황에서도 빠르게 대응 가능
- Maven에 올라와 있지 않은 자료들을 효율적으로 관리 가능
- 다운로드한 Dependency는 로컬에 저장되어서 협업 시, 다른 PC에도 설치 필요
- 서버에도 동일한 설정들을 해주어야 하므로, 서버 구조가 복잡할수록 잔업이 증가
- 예외 파일로 인한 설정이 줄어들어 전체적인 일관성이 증가
- 개발팀에서 사용하는 공통 라이브러리들을 공유 가능
- 특정 솔루션을 사용하기 위한 3rd Party 라이브러리를 관리 가능
기능
- 의존성 관리
▶ Maven 프로젝트에서 필요한 외부 라이브러리 및 플러그인 관리 및 다운 가능 - 중앙 저장소
▶ Nexus는 중앙 위치에 위치하여 여러 프로젝트에서 공유할 수 있는 중앙 저장소 역할 - 로컬 캐시
▶ Maven 빌드 작업을 향상하기 위해 로컬 캐시를 제공하여 반복적인 다운로드를 피함 - 보안 및 권한 관리
▶ 사용자에게 적절한 접근 권한 부여 및 저장소 보안관리 - 프록시 기능
▶ 원격 Maven 저장소로부터 필요한 의존성 다운로드할 때 프록시 기능을 통해 속도 향상 가능 - 그룹화
▶ 여러 저장소를 그룹화하여 하나의 가상 저장소로 사용 가능
728x90
반응형
LIST
'ETC > IT Knowledge' 카테고리의 다른 글
리눅스(Linux) 패키지 다운 사이트 (0) | 2025.01.24 |
---|---|
리버스 프록시(Reverse Proxy)와 포워드 프록시(Forward Proxy) 차이점과 개념 그리고 웹 서버와의 차이점 (0) | 2025.01.02 |
프록시(Proxy)란? (0) | 2025.01.02 |
SSH (Secure Shell)이란? (0) | 2024.12.26 |
REST와 MQ의 개념 및 차이점 정리 (1) | 2024.12.26 |