반응형

지난 포스팅에서는 Maven 배포를 위한 준비단계, 인프라 구성 및 Nexus구축과 Repository 설정에 대해 알아보았다.


이번 포스팅을 진행하기에 앞서, 지난 포스팅과 동일하게 이전 내용이 궁금한 분들은 아래 링크를 참조하길 바란다.


SDK, Maven으로 쉽게 배포하자!(1/3)

SDK, Maven으로 쉽게 배포하자!(2/3)


이번 포스팅은 카테고리는 서버로 분류되지만, 사실 Android 단말 개발자에 도움이 되는 글이니 많은 관심과 함께 스크롤하시길....




우리는 이전 포스팅에서 Nexus에 'test'란 Repository를 생성하였다. 해당 Repository에

Android Studio에서 개발자가 열심히 제작한 SDK('aar'파일로 알고있는 분들도 많을듯...)를 Nexus에 업로드 및 gradle 배포 방법에 대해 기술한다.


먼저, 업로드 방법에 대해 기술한다.

방법은 음.... 삽질한 시간에 비해 실제 알고보면 너무 쉽다. 이 포스팅을 찾은 여러분은 정말 복받은 분들이라 생각한다.....(그렇게 믿으면 복이오나니....)


작성중인 패키지 내 build.gradle파일을 열고, 아래와 같이 내용을 추가한다.

project.version = '{패키지 버전코드}' // version
project.group = '{사용자가 희망하는 패키지명}' // groupId

uploadArchives {
repositories {
mavenDeployer {
repository(url: '{생성한 Repository Url}') {
authentication(userName: '{Nexus 계정}', password: '{Nexus 계정 비밀번호}')
}
}
}
}


너무 쉽지 않은가? 이 대목에서 박수를 보낸다면 너무 감사할듯하다 (아니죠... 제 블로그에 방문해준 여러분께 박수드립니다)


위에 내용에 대해 잠시 설명하자면 다음과 같다.

project.version : 버전관리용 태깅이라고 생각하면 된다. 흔히 라이브러리 사용시 보는 1.0.0 같은 것들....

project.group : 라이브러리 링크 시 원하는 패키지 명. 이건 gradle 배포방법을 설명할때 연결된다. 일종의 복선?!

나머지 항목은 위에 설명한것처럼 작성하면 된다.


여기까지 잘 따라오셨다면 upload build 작업을 진행한다.

gradlew :{모듈이름}:uploadArchives


Nexus로 정상적으로 업로드 되는걸 확인할 수 있을것이다.


Nexus를 통해 배포하고자 하는 SDK는 aar확장자 파일이므로, 위의 그림처럼 해당 aar을 클릭하면 우측에 Maven 항목이 나타난다.

프로젝트를 Maven 기반으로 구성하였다면 위의 그림에 XML 항목을 복사하면 쉽지만, 대부분은 Gradle 기반 구성을 하기때문에 Gradle 상 구성방법을 기술한다.


위의 그림에 XML코드에 있는 내용을 토대로 우리는 gradle 라이브러리 링크가 가능하다.

그에 앞서, 먼저 개발중인 프로젝트의 build.gradle을 열어 repositories 내 maven 링크를 추가한다.

필자는 안전하게 최상단 build.gradle에서 아래와 같이 처리해주었다.

allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
maven {
url '{생성한 Repository Url}'
}
}
}



그리고 여느 라이브러리 사용때와 마찬가지로, build.gradle 내 dependencies 항목 내 아래와 같이 추가해주자.

compile '{groupId}:{artifactId}:{version}@{type}'



여기까지 되었다면, 여러분은 직접 제작한 SDK 라이브러리를 Maven 배포하여 작업하고자 하는 모든 프로젝트에서 참조하여 요긴하게 사용할 수 있다.


생각보다 길어진 포스팅으로 지루하지만 열심히 따라와준분들께 감사드리며, 

이상으로 'SDK, Maven으로 쉽게 배포하자' 포스팅을 마치도록 한다.

반응형

+ Recent posts