시스템/배포(Deploy)

Part2. Docker 활용

EastHoon 2024. 8. 25. 16:21

Artifact 관리를 위한 Nexus 활용

- Artifact 관리를 위한 Nexus 활용 소개

: 사내 망에 별도의 리포지토리를 구축하기 위함

(1) 보안의 이유

(2) 라이브러리 버전 관리 용이 - meta 데이터 기반으로 라이브러리 정보와 버전 관리

(3) 공유와 협업 관리

 

레포지토리의 종류

 

<레포지토리 타입>

 

- Nexus 설치 및 AWS S3 연결

Nexus 설치 및 AWS S3 연결 
- Nexus 설치 및 관리 계정 생성
- AWS S3 연결 Blob Store 및 Repository 생성

사전 준비사항
- Nexus 서버용 AWS EC2 1개 VM 생성 및 접근 허용
    - Instance Type : t3.medium (2Core/4GB Mem/30GB EBS)
    - Security Group Inbound Rule : 8081(Nexus), 22(SSH) 

- Docker-CE 버전 설치 및 Docker 데몬 기동
- Nexus Repository용 S3 Bucket은 사전 준비 불필요(Nexus 설정으로 자동 생성)

==>
본인의 경우 회사 차원에서 nexus 서버를 운영하기 때문에 Nexus 서버를 설치 할 필요 없다. 

 

AWS IAM -> "사용자" -> {User 명 링크 클릭} -> "보안 자격 증명" -> "엑세스 키 만들기" (Acess Key 및 Secret Key 발급)

 

<설치 실습>

Nexus 설치 실습
• Nexus 컨테이너 실행
• Nexus 접속 및 설치
    - http://:8081
• 관리 계정 생성
    - admin 계정으로 로그인 및 test 계정 생성


Nexus 컨테이너 실행 명령어
# 넥서스 최신 버전 설치
: $ docker run --name nexus -d -p 8081:8081 -v ~/nexus-data:/nexusdata -u root sonatype/nexus3

 Admin Password 확인 명령어
: $ docker exec -it nexus bash -c "cat /nexus-data/admin.password

AWS S3 연결 Blob Store 및 Repository 생성
Nexus Blob Stores에서 AWS S3 Bucket 생성 및 설정
• Proxy 타입 Repository 생성 (mavenCentral 캐싱)

 

- Nexus Artifact 활용한 Docker 빌드

 

 

반응형