이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 9 다음 »


  • Nexus Repository 란 ? maven에서 사용할 수 있는 오픈소스 repository
  • 본 문서는 Deploy 위주로 작성되어 설치와 설정은 간략하게 나와있습니다.
  • Nexus Repository Deploy 페이지를 보시면 설치부터 미러링까지 보다 자세하게 알 수 있습니다.


Vagrant + CentOS 7에서 Nexus Repository Server 설치

Vagrant 접속

  • Vagrant로 VM VirtualBox를 실행하려면, Windows command 창에 vagrant up 명령어 실행 후 vagrant ssh 명령어로 shell 을 실행합니다.
  • (Vagrant Provision을 사용해도 되지만 설치 과정에서 에러가 생길 수 있어서 shell로 접속하여 설치하는게 안전합니다)

패키지 다운로드

# nexus repository 패키지 설치
$ wget install https://download.sonatype.com/nexus/3/latest-unix.tar.gz   --no-check-certificate
# 설치 후 압축 해제
$ tar -xvf latest-unix.tar.gz
# 압축 해제한 파일을 /opt 디렉토리 밑에 옮김
$ sudo mv nexus-3.29.2-02 /opt/

설치 후 기본 설정

  • 설치 후 nexus-default.properties 파일을 편집모드로 열어 application-port=8089 부분의 포트를 변경합니다. (보통 8080 으로 설정합니다)
$ cd /opt/nexus-3.29.2-02/etc  
$ sudo vi nexus-default.properties
  • 계정과 그룹을 생성합니다. 
$ sudo groupadd nexus && adduser nexus -g nexus

서비스 등록

  • 서비스 등록에는 많은 방법이 있는데 저는 systemd를 이용하는 방식을 사용하였습니다.
  • 서비스 등록은 https://help.sonatype.com/repomanager3/installation/run-as-a-service 을 참고하시면 자세히 나와있습니다.
  • nexus.service를 편집기로 열어 다음의 내용을 작성합니다. (저는 vagrant 계정이 기본으로 되어있어 vagrant로 설정하였습니다.)
편집기 명령어
$ sudo vi /etc/systemd/system/nexus.service
nexus.service
[Unit]252C
Description=nexus service
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus-3.29.2-02/bin/nexus start
ExecStop=/opt/nexus-3.29.2-02/bin/nexus stop
User=root
Restart=on-abort
TimeoutSec=600

[Install]
WantedBy=multi-user.target
  • 이후 다음의 명령어들을 실행하여 재시작시 실행되도록 설정합니다.
service 등록
sudo systemctl daemon-reload
sudo systemctl enable nexus.service
sudo systemctl start nexus.service
  • log는 tail -f /opt/sonatype-work/nexus3/log/nexus.log 명령어로 확인할 수 있습니다.
  • 마지막으로 다음의 화면이 나오면 Nexus 서버 접속에 성공한 것입니다!

브라우저 접속

image

외부 Repositories 등록 후 Windows에서 Nexus Server 미러링

외부 Repositories 등록

  • 다음은 외부 저장소를 등록하는 화면입니다. 저는 spring repository를 등록하였습니다.
  • 저장소는 test라는 Blob store를 따로 생성하고 지정하였습니다. (저장소는 Blob stores 메뉴를 보시면 됩니다.)

settings.xml 파일 생성 및 미러링 

  • 다음은 Windows 환경에서 C:/Users/User/.m2 경로에 settings.xml 파일을 만들고 VMBox의 Nexus Repository 미러링 내용을 작성합니다.


settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">
  <mirrors>
    <mirror>
      <id>Maven Repo</id>
      <name>Maven Repo</name>
      <url>http://192.168.33.10:8089/repository/spring-central/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>


  • IntelliJ라는 IDE 툴을 이용하여 spring boot starter 프로젝트를 생성한 후 Nexus repository에서 jar 파일을 다운로드 받았습니다.
  • 이 때 저는 spring repository 만 추가되어 있기 때문에 다른 패키지들을 다운로드 할 때 에러가 발생합니다.
  • 그래서 실제로 maven install을할 때는 maven-public repository를 이용했습니다.


.. 생략

[INFO] Scanning for projects...
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/springframework/boot/spring-boot-starter-parent/2.4.2/spring-boot-starter-parent-2.4.2.pom
Downloaded from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/springframework/boot/spring-boot-starter-parent/2.4.2/spring-boot-starter-parent-2.4.2.pom (8.6 kB at 83 kB/s)
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/springframework/boot/spring-boot-dependencies/2.4.2/spring-boot-dependencies-2.4.2.pom
Downloaded from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/springframework/boot/spring-boot-dependencies/2.4.2/spring-boot-dependencies-2.4.2.pom (108 kB at 2.9 MB/s)
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/com/datastax/oss/java-driver-bom/4.9.0/java-driver-bom-4.9.0.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/io/dropwizard/metrics/metrics-bom/4.1.17/metrics-bom-4.1.17.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/codehaus/groovy/groovy-bom/2.5.14/groovy-bom-2.5.14.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/infinispan/infinispan-bom/11.0.8.Final/infinispan-bom-11.0.8.Final.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/com/fasterxml/jackson/jackson-bom/2.11.4/jackson-bom-2.11.4.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/glassfish/jersey/jersey-bom/2.32/jersey-bom-2.32.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/eclipse/jetty/jetty-bom/9.4.35.v20201120/jetty-bom-9.4.35.v20201120.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/junit/junit-bom/5.7.0/junit-bom-5.7.0.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/jetbrains/kotlin/kotlin-bom/1.4.21/kotlin-bom-1.4.21.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/jetbrains/kotlinx/kotlinx-coroutines-bom/1.4.2/kotlinx-coroutines-bom-1.4.2.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/apache/logging/log4j/log4j-bom/2.13.3/log4j-bom-2.13.3.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/io/micrometer/micrometer-bom/1.6.3/micrometer-bom-1.6.3.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/io/netty/netty-bom/4.1.58.Final/netty-bom-4.1.58.Final.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/com/oracle/database/jdbc/ojdbc-bom/19.8.0.0/ojdbc-bom-19.8.0.0.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/io/r2dbc/r2dbc-bom/Arabba-SR8/r2dbc-bom-Arabba-SR8.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/io/projectreactor/reactor-bom/2020.0.3/reactor-bom-2020.0.3.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/io/rsocket/rsocket-bom/1.1.0/rsocket-bom-1.1.0.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/springframework/data/spring-data-bom/2020.0.3/spring-data-bom-2020.0.3.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/springframework/spring-framework-bom/5.3.3/spring-framework-bom-5.3.3.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/springframework/integration/spring-integration-bom/5.4.3/spring-integration-bom-5.4.3.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/springframework/security/spring-security-bom/5.4.2/spring-security-bom-5.4.2.pom
Downloading from Maven Repo: http://192.168.33.10:8089/repository/spring-central/org/springframework/session/spring-session-bom/2020.0.1/spring-session-bom-2020.0.1.pom
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Non-resolvable import POM: Could not transfer artifact com.datastax.oss:java-driver-bom:pom:4.9.0 from/to Maven Repo (http://192.168.33.10:8089/repository/spring-central/): Transfer failed for http://192.168.33.10:8089/repository/spring-central/com/datastax/oss/java-driver-bom/4.9.0/java-driver-bom-4.9.0.pom 503 Service Unavailable @ org.springframework.boot:spring-boot-dependencies:2.4.2, C:\Users\hyunaoh\.m2\repository\org\springframework\boot\spring-boot-dependencies\2.4.2\spring-boot-dependencies-2.4.2.pom, line 2577, column 19
[ERROR] Non-resolvable import POM: Could not transfer artifact io.dropwizard.metrics:metrics-bom:pom:4.1.17 from/to Maven Repo (http://192.168.33.10:8089/repository/spring-central/): Transfer failed for http://192.168.33.10:8089/repository/spring-central/io/dropwizard/metrics/metrics-bom/4.1.17/metrics-bom-4.1.17.pom 502 Bad Gateway @ org.springframework.boot:spring-boot-dependencies:2.4.2, C:\Users\hyunaoh\.m2\repository\org\springframework\boot\spring-boot-dependencies\2.4.2\spring-boot-dependencies-2.4.2.pom, line 2584, column 19
[ERROR] Non-resolvable import POM: Could not transfer artifact org.codehaus.groovy:groovy-bom:pom:2.5.14 from/to Maven Repo (http://192.168.33.10:8089/repository/spring-central/): Transfer failed for http://192.168.33.10:8089/repository/spring-central/org/codehaus/groovy/groovy-bom/2.5.14/groovy-bom-2.5.14.pom 502 Bad Gateway @ org.springframework.boot:spring-boot-dependencies:2.4.2, C:\Users\hyunaoh\.m2\repository\org\springframework\boot\spring-boot-dependencies\2.4.2\spring-boot-dependencies-2.4.2.pom, line 2591, column 19

...생략


  • Maven install이 끝나면 다음과 같은 component 들이 등록되어 있는것을 확인할 수 있습니다.





  • 레이블 없음