문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
wiki:3party:nexus [2023/09/22 11:03] khlee |
wiki:3party:nexus [2023/11/28 12:56] (현재) khlee |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Nexus ====== | ====== Nexus ====== | ||
| <WRAP left notice 80%> | <WRAP left notice 80%> | ||
| - | * description : nexus관련 | + | * description : nexus 내용 기술 |
| * author | * author | ||
| * email : khlee@repia.com | * email : khlee@repia.com | ||
| 줄 7: | 줄 7: | ||
| </ | </ | ||
| - | ===== Nexus ===== | + | |
| - | ==== 현재 설치 위치 ==== | + | ===== 정보 |
| + | * URL: http:// | ||
| * IP: 125.132.25.172 \\ | * IP: 125.132.25.172 \\ | ||
| * PORT: 8081 \\ | * PORT: 8081 \\ | ||
| * 위치: /opt/nexus \\ | * 위치: /opt/nexus \\ | ||
| - | ==== Nexus 란? ==== | + | * admin 계정: admin / repia12#$ |
| + | ===== Nexus 란? ===== | ||
| * Nexus는 메이븐에서 사용할 수 있는 Repository다. \\ | * Nexus는 메이븐에서 사용할 수 있는 Repository다. \\ | ||
| * 외부에서 dependency를 수고를 덜고, local nexus(cache)로 사용함으로써 빠르게 라이브러리를 끌어올 수 있고, 개발팀에서 사용하는 공용 라이브러리를 local nexus에 배포해서 팀간에 공유할 수 있다.\\ | * 외부에서 dependency를 수고를 덜고, local nexus(cache)로 사용함으로써 빠르게 라이브러리를 끌어올 수 있고, 개발팀에서 사용하는 공용 라이브러리를 local nexus에 배포해서 팀간에 공유할 수 있다.\\ | ||
| 줄 20: | 줄 22: | ||
| * [[https:// | * [[https:// | ||
| - | ===== 설치 ===== | + | |
| - | ==== 1. 다운로드 및 설치 ==== | + | ===== 1. 다운로드 및 설치 |
| opt 디렉터리에 설치하는 것을 기준으로 진행합니다.\\ | opt 디렉터리에 설치하는 것을 기준으로 진행합니다.\\ | ||
| 줄 72: | 줄 74: | ||
| </ | </ | ||
| \\ | \\ | ||
| - | Nexus가 성공적으로 실행 중인지 확인하기 위해 로그를 확인할 수 있습니다. | + | Nexus가 성공적으로 실행 중인지 확인하기 위해 로그를 확인할 수 있습니다.\\ |
| <code bash> | <code bash> | ||
| sudo tail -f / | sudo tail -f / | ||
| 줄 86: | 줄 88: | ||
| {{: | {{: | ||
| - | ==== 2. 최초 계정 및 설정 ==== | + | ===== 2. 최초 계정 및 설정 |
| 최초 계정의 비밀번호는 nexus-data/ | 최초 계정의 비밀번호는 nexus-data/ | ||
| 아이디: admin\\ | 아이디: admin\\ | ||
| 줄 99: | 줄 101: | ||
| 보안을 위해서 익명 사용자는 접근을 허용하지 않도록 하겠습니다. \\ | 보안을 위해서 익명 사용자는 접근을 허용하지 않도록 하겠습니다. \\ | ||
| - | ==== 3. 레포지토리 생성 ==== | + | ===== 3. 레포지토리 생성 |
| 상위의 톱나바퀴 아이콘 > Repository > Repositories > create repository를 클릭합니다.\\ | 상위의 톱나바퀴 아이콘 > Repository > Repositories > create repository를 클릭합니다.\\ | ||
| {{: | {{: | ||
| 줄 111: | 줄 113: | ||
| </ | </ | ||
| repository 설정은 아래와 같이 진행하겠습니다.\\ | repository 설정은 아래와 같이 진행하겠습니다.\\ | ||
| - | *해당 이미지는 예시일 뿐입니다. 실제로는 Version.Policy별로 구분해서 레포지토리를 생성 및 사용해야합니다.\\ | + | '' |
| {{: | {{: | ||
| - | ==== 4. 레포지토리에 라이브러리 배포 ==== | + | ===== 4. 레포지토리에 라이브러리 배포 |
| * 해당 방법은 구동된 Nexus '' | * 해당 방법은 구동된 Nexus '' | ||
| * 배포할 라이브러리의 pom.xml에 등록하여 바로 repository에 배포하는 방법은 아래의 ref > Nexus에 Spring Maven 라이브러리 배포 및 사용하기 링크 참조.\\ | * 배포할 라이브러리의 pom.xml에 등록하여 바로 repository에 배포하는 방법은 아래의 ref > Nexus에 Spring Maven 라이브러리 배포 및 사용하기 링크 참조.\\ | ||
| 줄 128: | 줄 130: | ||
| {{: | {{: | ||
| - | ==== 5. 라이브러리를 build.gralde에 적용하는 방법 ==== | + | ===== 5. 라이브러리를 build.gralde에 적용하는 방법 |
| build.gradle에 아래와 같이 기입합니다. | build.gradle에 아래와 같이 기입합니다. | ||
| <code text> | <code text> | ||
| 줄 145: | 줄 147: | ||
| </ | </ | ||
| '' | '' | ||
| - | {{: | + | {{: |
| + | 넥서스 계정의 별도 관리가 필요하다면 gradle.properties에 아래와 같이 입력한 후에 build.gradle에서 사용 가능합니다.\\ | ||
| + | gradle.properties\\ | ||
| + | <code text> | ||
| + | version = 1.0.0 | ||
| + | nexusUsername = repia-khlee | ||
| + | nexusPassword = 1234 | ||
| + | nexusSnapshotUrl = http:// | ||
| + | </ | ||
| + | |||
| + | build.gradle\\ | ||
| + | <code text> | ||
| + | repositories { | ||
| + | maven { | ||
| + | url project.findProperty(" | ||
| + | credentials { | ||
| + | username project.findProperty(" | ||
| + | password project.findProperty(" | ||
| + | } | ||
| + | } | ||
| + | // jcenter() | ||
| + | } | ||
| + | </ | ||
| ===== Tip ===== | ===== Tip ===== | ||
| * Nexus에서 각 역할과, 계정을 생성하여 관리하는 Repository를 분류할 수 있습니다. 방법은 아래의 Ref > Nexus Repository 설치 및 레포지토리 생성과 역할, | * Nexus에서 각 역할과, 계정을 생성하여 관리하는 Repository를 분류할 수 있습니다. 방법은 아래의 Ref > Nexus Repository 설치 및 레포지토리 생성과 역할, | ||
| + | * release, snapshot repository에 따라서 개별 관리가 필요합니다. | ||
| ===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
| * [[https:// | * [[https:// | ||