Notice
Recent Posts
Recent Comments
Link
아님말고
[gradle] library 용도 프로젝트을 Nexus로 배포하기 본문
1.NEXUS 접속정보
gradle.properties
NEXUS_SNAPSHOT_URL=https://nexus2.amazonaws.com/nexus/repository/my-snapshots
NEXUS_RELEASE_URL=https://nexus2.amazonaws.com/nexus/repository/my-releases
NEXUS_USER_NAME=myId
NEXUS_PASSWORD=1234
2.배포 script 작성
build.gradle
group = 'com.myproject'
//version = '1.1.0'
version = '1.1.5-SNAPSHOT'
sourceCompatibility = '17'
publishing {
repositories {
maven {
if(version.toString().endsWith('SNAPSHOT')){
url NEXUS_SNAPSHOT_URL
}else{
url NEXUS_RELEASE_URL
}
credentials {
username NEXUS_USER_NAME
password NEXUS_PASSWORD
}
}
}
publications {
maven(MavenPublication) {
groupId = 'com.myproject'
artifactId = 'sample'
from components.java
artifact bootJar
versionMapping {
usage('java-api'){
fromResolutionOf('runtimeClasspath')
}
usage('java-runtime'){
fromResolutionResult()
}
}
}
}
}
version 의 이름 접미사가 'SNAPSHOT' 으로 끝나면 NEXUS_SNAPSHOP 에 저장되고, 아니면 NEXUS_RELEASE 에 저장된다.
위 소스로 배포하면 groupId는 'com.myproject', 이름은 sample 그리고, version은 '1.1.5-SHAPSHOT' 형태로 저장된다.
3. 배포하기
도스창을 열고 프로젝트 홈에서 아래 명령어 실행하고 NEXUS에 생성된 것을 확인한다.
C:\Users\{pc로그인사용자}\git\{프로젝트명}> gradlew publish
4 .사용하기
사용하려는 repository의 build.gradle에 아래 코드를 추가한다.
implementation 'com.myproject:sample:1.1.5-SHAPSHOT'
Comments