프록시 리포지토리는 인터넷 접속이 제한된 로컬 네트워크 환경에서 외부 라이브러리 및 종속성을 관리하기 위해 사용된다. 프록시 리포지토리를 사용하면 로컬 네트워크에서 필요한 라이브러리를 캐시 하여 저장하고, 개발자들은 이를 통해 필요한 라이브러리에 접근할 수 있다. 이는 보안 및 제어 요구 사항을 충족시키면서도 개발자들이 효율적으로 작업할 수 있도록 도와준다.
1. 공식 문서
Proxy repository 사용법 관련 문서
https://help.sonatype.com/en/quick-start-guide---proxying-maven-and-npm.html
2. 구조
[인터넷 x 사용자] 요청 -> [인터넷 o proxy] 요청 -> [Maven 저장소] 응답 -> [Proxy 캐싱] 응답 -> [사용자]
3. Repostiory Maven Proxy 생성
3-1) [Repositories] -> [Maven2 (proxy)] 클릭
3-2) [이름] 입력 -> [원격 저장소] 입력 -> [Blob 저장소] 선택 -> [생성]
proxy 리포지토리가 라이브러리를 요청할 원격 저장소를 설정한다.
4. 사용법
4-1) settings.xml
settings.xml 설정만 끝낸다면 앞으로 라이브러리는 proxy 리포지토리를 사용해서 가자오게 된다.
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[매핑할 id]</id>
<username>[nexus 사용자 ID]</username>
<password>[nexus 사용자 PW]</password>
</server>
</servers>
<mirrors>
<mirror>
<id>[매핑할 id]</id>
<mirrorOf>*</mirrorOf>
<url>[라이브러리를 가져올 리포지토리 url]</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>[사용할 Profile ID]</id>
<repositories>
<repository>
<id>central</id>
<url>[Proxy 리포지토리 url]</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>[Proxy 리포지토리 url]</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>[사용할 Profile ID]</activeProfile>
</activeProfiles>
</settings>
mirror에 설정된 URL은 Proxy 리포지토리와 Hosted를 그룹 한 Group 리포지토리를 주로 설정한다.
- Hosted : 로컬 <- 업로드/다운로드 -> Hosted 리포지토리
- Group : 로컬 <- 업로드/다운로드 -> Group(Proxy, hosted 등등 리포지토리를 묵음) 리포지토리
2024.03.08 - [DevOps/Nexus] - [Nexus] repository maven group 생성 및 사용 방법
반응형
'DevOps > Nexus' 카테고리의 다른 글
[Nexus] repository maven group 생성 및 사용 방법 (0) | 2024.03.08 |
---|---|
[Nexus] repository maven hosted 배포(deploy) 방법(자동, 수동, API) (0) | 2024.03.04 |
[Nexus] repository maven hosted 생성 방법 (0) | 2024.03.01 |
[Nexus] Nexus Repository 서버 구축 (0) | 2024.02.29 |