이제 Nexus Web UI 페이지로 Repositroy jar를 올려보자
1. 설정메뉴 > Repository 로 이동
2. Create Repository 클릭후 maven2(hosted) 선택
이름과 정책 버전 설정, 나는 스냅샷으로 만들었다.
- Release
프로젝트가 안정적으로 배포되고 사용될 때 사용
일반적으로 버그 수정, 기능 개선 등 작은 변경 사항 포함
릴리즈 버전의 artifact는 배포된 후에 변경되지 않음 (수정 시 버전 up)
- Snapshot
안정화되지 않은 개발 중인 버전
개발 중인 코드에 대한 최신 빌드를 나타냄
스냅샷 버전의 artifact는 커밋할 때마다 업데이트됨
- Mixed
Release, Snapshot 상관없이 배포는 되지만, 수정 시 버전 up 해야함
3. Role 생성
Role을 지정하지 않으면 초기에 아무 권한도 없기 때문에 롤을 먼저 생성한다.
Role ID와 이름 등등 적고 > Applied Privileges 에서 Modify Applied Privileges 버튼 클릭
그런다음 Repository 명을 검색한 후 모두 클릭해준다.
4. User 생성
필수값을 입력해준후 하단의 Role 선택부분에서 만들었던 Role을 선택해준 후 생성한다.
Nexus WebUI에서 할껀 다 했다.
이제 내가 Library로 올리려는 프로젝트 설정을 바꿔보자.
5. 올리려는 해당 프로젝트 build.gradle 설정 수정
기존설정에 추가해주어야 하는 속성만 적었다.
plugins {
id 'java-library'
id 'org.springframework.boot' version '3.5.0'
id 'io.spring.dependency-management' version '1.1.7'
id 'maven-publish'
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
groupId = project.group
artifactId = 'common-core'
version = project.version
}
}
repositories {
maven {
name = "nexus"
url = uri("http://{publicIP}:8081/repository/{생성한레포지토리명}/")
allowInsecureProtocol = true // Gradle7 부터는 http를 기본차단하므로 해당옵션필수
credentials {
username = project.findProperty("nexusUsername") ?: "" // gradle.properties로 따로빼서 설정하였다.
password = project.findProperty("nexusPassword") ?: ""
}
}
}
}
계정정보는 환경변수로 선언하거나 properties로 따로 빼서 쓴다.
gralde.properties
nexusUsername={User명}
nexusPassword={패스워드}
계정정보는 유출되면 안되므로 .gitignore에 따로 추가해준다.
gradle.properties
그런다음 gradle clean build 후 publish 해보자.
IntelliJ는 그래들 툴에 publishing > publish 에 있다.
성공후 Nexus Web UI > browse 에 가서 보면 내가 올린 파일이 있는걸 확인할 수 있다.
6. Nexus Repository에서 파일 받아와 사용하기
받아오려는 프로젝트에 아래만 추가해준다.
repositories {
maven {
name = "nexus"
url = uri("http://{퍼블릭IP}:8081/repository/{레포지토리명}/")
allowInsecureProtocol = true
}
mavenCentral()
}
그리고 디펜던시에 추가한다.
// 사용자정의 nexus
implementation '{레포지토리_그룹명}:{레포지토리프로젝트명.버전}'
클린,빌드후 의존성 라이브러리에 잘 추가된걸 확인할 수 있다.
'IT' 카테고리의 다른 글
[AWS] EC2 로 Nexus 저장소 세팅하기-(1)설치하기 (0) | 2025.06.02 |
---|---|
[Docker] 도커로 Keycloak 설치하기(windows) (0) | 2025.05.29 |
[AWS] 웹 공격에 캡차 추가하기 (0) | 2024.11.24 |
[AWS] ECS vs EKS (0) | 2024.11.24 |
[AWS] 내맘대로 AWS Cloud 구축/설계하기(2) (0) | 2024.11.23 |