DevOps/Nexus

[Nexus] repository maven proxy 생성 및 사용 방법

cob 2024. 3. 7. 10:29

 

프록시 리포지토리는 인터넷 접속이 제한된 로컬 네트워크 환경에서 외부 라이브러리 및 종속성을 관리하기 위해 사용된다. 프록시 리포지토리를 사용하면 로컬 네트워크에서 필요한 라이브러리를 캐시 하여 저장하고, 개발자들은 이를 통해 필요한 라이브러리에 접근할 수 있다. 이는 보안 및 제어 요구 사항을 충족시키면서도 개발자들이 효율적으로 작업할 수 있도록 도와준다.

 

1. 공식 문서

Proxy repository 사용법 관련 문서

https://help.sonatype.com/en/quick-start-guide---proxying-maven-and-npm.html

 

Quick Start Guide - Proxying Maven and NPM

Quick Start Guide - Proxying Maven and NPMIf you're new to Nexus Repository 3, use this guide to get familiar with configuring the application as a dedicated proxy server for Maven and npm builds.To reach that goal, follow each section to:Install Nexus Rep

help.sonatype.com

 

 


2. 구조

[인터넷 x  사용자] 요청 -> [인터넷 o proxy] 요청 -> [Maven 저장소] 응답 -> [Proxy 캐싱] 응답 -> [사용자]

proxy 구조도

 

 

 

 


3. Repostiory Maven Proxy 생성

3-1) [Repositories] -> [Maven2 (proxy)] 클릭

proxy

 

 

3-2) [이름] 입력 -> [원격 저장소] 입력 -> [Blob 저장소] 선택 -> [생성]

proxy 리포지토리가 라이브러리를 요청할 원격 저장소를 설정한다.

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 생성 및 사용 방법

 

[Nexus] repository maven group 생성 및 사용 방법

Repository Group 여러 개의 리포지토리를 그룹으로 묶어 하나의 진입점으로 사용 가능하다. 1. 생성 방법 1-1) [Repositories] -> [maven2 (group)] 클릭 1-2) 하나의 그룹으로 묶을 리포지토리를 추가한다. 2. sett

cocococo.tistory.com

 

반응형