Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

아님말고

[gradle] library 용도 프로젝트을 Nexus로 배포하기 본문

카테고리 없음

[gradle] library 용도 프로젝트을 Nexus로 배포하기

스타박씨 2023. 4. 20. 11:03

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