Nexus 관리를 위한 AWS S3 활용

Hyerin·2022년 9월 20일
0

Nexus 설치와 AWS S3를 연동한다.



실습환경

AWS EC2 t2.medium (2Core / 4GB 메모리)
Docker 20.10.18

  1. Nexus 설치하기
# 도커를 설치한다.
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

# 도커를 이용해서 nexus를 설치한다.
$ sudo docker run --name nexus -d -p 8081:8081 -u root sonatype/nexus3

CONTAINER ID   IMAGE             COMMAND                  CREATED         STATUS          PORTS                                       NAMES    
60efb1194ca4   sonatype/nexus3   "/opt/sonatype/nexus…"   4 seconds ago   Up 4 seconds    0.0.0.0:8081->8081/tcp, :::8081->8081/tcp   nexus

  1. 퍼블릭 IPv4 DNS:8081 로 접속한다.
  1. admin 계정으로 로그인한다.
# 도커 컨테이너에 저장된 admin계정의 비밀번호를 찾는다.
$ sudo docker exec -it nexus bash -c "cat /nexus-data/admin.password"

새로운 비밀번호로 변경한다.
  1. 새로운 User 생성하기
    톱니바퀴 모양의 설정버튼 클릭 -> Security -> Users 클릭 -> Create local user 클릭


    test 라는 계정을 만든 후 재로그인한다.

  1. Blob Store를 aws s3로 생성하고 프록시 레파지토리를 만들기
    Repository -> Blob Stores 선택 -> Create Blob Store 선택 -> Save 클릭

Blob Stores 기본값

현재 nexus 서버를 사용하고 있는 aws ec2 vm의 파일시스템을 nexus 레파지토리의 blob stores로 사용하고 있는 것

Type : S3
Prefix : S3 버킷 내에 최초로 생성되는 디렉토리

생성 완료

AWS S3을 확인한다.

  1. 레파지토리를 생성하기
    Repository -> Repository 클릭 -> Create repository 클릭


    maven2(proxy) 선택



    세부사항 설정하기

Version policy 종류

Release : 완전히 release 되는 아티팩트나 바이너리파일을 넣기 위한 레파지토리
Snapshot : 빠르게 빌드하거나 개발할 때 QA용도로 사용하기 위한 레파지토리
Mixed : release와 snapshot 기능을 동시에 사용할 수 있는 레파지토리

최대한 default 값으로 두고, 허용값으로 설정한다.


생성 완료


<출처>
패스트캠퍼스 - Kubernetes와 Docker로 한 번에 끝내는 컨테이너 기반 MSA

profile
DevOps, 코딩 기록

0개의 댓글