문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
wiki:3party:nexus [2023/09/22 10:54] 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 ===== | + | |
- | ==== 현재 설치 위치 ==== | + | ===== 정보 |
- | IP: 125.132.25.172 | + | * URL: http:// |
- | PORT: 8081 | + | * IP: 125.132.25.172 |
- | 위치: / | + | * PORT: 8081 \\ |
- | ==== 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:// | ||
===== Ref ===== | ===== Ref ===== |