Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

저장소 관리자없이 소프트웨어를 개발하는 경우 상당히 비효율적 인 부분을 줄이기위한 많은 기회가 누락 될 수 있다.

팀의 모든 구성원이 Central Repository와 같은 공용 저장소를 사용하여 구성 요소를 다운로드해야하는 경우 속도와 효율성이 향상될 것이다.

구성 요소를 배포 할 로컬 위치가없는 경우 소스 제어에 바이너리를 저장하는 등 반쪽 측정 및 절충을 사용하여 바이너리 구성 요소를 공유해야 한다.


개요

Nexus 는 Sonatype 에서 만든 Maven 을 관리하기 위한 오픈소스 프로젝트이다.

Nexus 는 Maven 을 사설로 구축하여금 공통 라이브러리 배포 용도나

다른 Maven Repository를 cache 하여 빠르게 다운로드 받을 수 있게 하는 기능으로 활용 되었다.

현재 Nexus 버전이 업그레이드 이후에는 npm private repository, docker private repository등 까지

많은 타입의 저장소를 구축 할 수 있다.


시작하기전..


설치

nexus에서 사용할 data 폴더 생성 및 권한 변경

호스트에서 별도 볼륨데이터를 관리하지 않을 경우 권한 설정 생략.

Code Block
themeRDark
# mkdir ~/nexus-data && sudo chown -R 200 ~/nexus-data
# docker run -d -p 8081:8081 -p 12000:12000 \
--name nexus \
-v /home/ubuntu/nexus-data:/nexus-data \
sonatype/nexus3

접속

설정

Repositories 를 클릭 후, Create repository 를 클릭한다.

그리고 docker (hosted) 를 선택한다. docker 부분에 group, hosted, proxy 가 있는데 각각의 역활은 아래와 같다.

  • group : 여러개의 repository 를 묶음
  • hosted : docker Registry
  • proxy : docker hub 또는 사설 docker registry 를 캐쉬해서 빠른 속도로 사용할 수 있게 해준다.
  • Name : 이해하기 쉽게 만들면 된다.
  • HTTP : Repository로 사용할 포트 입력
  • Enable Docker V1 API : 체크

참고

Docker V1 API 는 Docker Registry V1 을 의미함.

현재 사용되고 있는 버전은 V2 로 https 만 지원함.

https 로 하려면 추가로 인증서 작업이 필요해서 해당 글에서는 Docker Registry V1 을 사용하면서 Http 로 할 수 있도록 설정을 변경해야 한다.

[Nexus 서버 IP 또는 도메인] 부분을 변경해서 실행.

Code Block
themeRDark
sh -c "echo 'DOCKER_OPTS=\"\$DOCKER_OPTS --insecure-registry=[Nexus 서버 IP 또는 도메인]:12000\"' >> /etc/default/docker"

로그인

Code Block
themeRDark
# docker login -u admin -p admin123 [Nexus 서버 IP 또는 도메인]:12000
# docker pull hello-world
# docker tag hello-world [Nexus 서버 IP 또는 도메인]:12000/hello-world
# docker push [Nexus 서버 IP 또는 도메인]:12000/hello-world
# docker rmi hello-world [Nexus 서버 IP 또는 도메인]:12000/hello-world
# docker pull [Nexus 서버 IP 또는 도메인]:12000/hello-world
# docker images


체크리스트

Change the Administrative Password and Email Address

관리자 암호의 기본값은 admin123이다.

새로 설치하는 첫 번째 작업은이 암호를 변경하는 것. 관리자 암호를 변경하려면 브라우저 창의 왼쪽에있는 보안 메뉴에서

암호 변경으로 관리자 암호를 변경한다.

Configure the SMTP Settings

저장소 관리자는 사용자 이름과 비밀번호 복구 이메일을 보낼 수 있다.

따라서 SMTP 호스트 및 포트를 구성해야 한다.

Image Added

Configure Default HTTP and HTTPS Proxy Settings

많은 배포에서 인터넷 및 저장소 관리자가 프록시해야하는 모든 원격 저장소는 배포 회사 내부의 HTTP 또는 HTTPS 프록시 서버를 통해서만 액세스 할 수 있다.

이러한 경우 저장소 관리자가 원격 저장소를 전혀 프록시 할 수 있으려면 해당 프록시 서버에 대한 연결 정보를 구성해야 한다.

Setup a Backup procedure for your server

정기적으로 구성 및 데이터를 백업하는 것이 좋다.