티스토리 뷰

bintray 에서 만든 gradle-bintray-pluginmaven central(메이븐 중앙 저장소) 에 java library 를 배포해보겠습니다.

절차 요약

  1. 본인의 bintray 저장소로 라이브러리 업로드
  2. jCenter 저장소에 link 를 겁니다. (관리자 승인 필요)
  3. jCenter 와 mavenCentral 을 sync 합니다. (관리자 승인 필요)

bintray 계정 생성

계정생성 페이지 - opensource user 로 가입하세요. 기업 유저로 가입하시면 안됩니다. 삭제 기능이 있는데 입력한 내용이 있다면서 삭제가 잘안되네요. (삭제가 안되서 계정 2개 만들었습니다..ㅜㅜ)

bintray user's maven repository 생성

계정 생성 후 bintray 에 로그인하고 프로필 페이지로 이동합니다. public repository 를 생성해줍니다. option 을 적당히 선택하고, type 을 maven 으로 선택합니다.

github repository 생성

배포할때 작성하는 정보중에 website 정보를 필요로 하는 부분이 있습니다. 여기에 github URL 정보를 사용하여도 됩니다. github public repository 를 생성하고 source code 를 upload 해놓습니다.

gradle 빌드 세팅

gradle-bintray-plugin을 참고하여 gradle 세팅을 해야합니다. 본인의 gradle project를 생성하고 제가 만들어 놓은 build.gradle 을 copy 하고 내용의 일부를 본인의 정보로 변경합니다.

  1. groupId, artifactId,version 등을 자신의 github 주소를 참고하여 변경합니다. ctrl+f 로 찾아서 전부 변경합니다.
  2. labels, desc, website etc..의 정보를 자신의 것으로 변경합니다.
  3. mavenCentralSync 안에 sync 속성을 false 로 바꿔줍니다. (승인 메일 도착 이후에 true 로 변경)

GPG(GNU Privacy Guard) KEY 생성

mavenCentral 과의 Sync 를 위한 GPG Key 가 필요합니다. lesstif 의 설명을 참고하여 key 를 생성하고 내보내기 하여 *.asc 확장자로 된 파일을 엽니다. 파일 내용으로 Public key(공개키), Private key(암호키, 비밀키) 가 있습니다. 이것을 bintray > 프로필 페이지> GPG signing 에서 2가지 key 전부 등록해주세요~

JIRA 계정 생성

mavenCetral 에 라이브러리 업로드 승인 요청을 위한 Sonatype 에 계정을 생성합니다.

gradle.properties 생성

build.gradle 과 같은 경로에 gradle.properties 를 생성하고 다음과 같은 정보들을 작성해줍니다.

bintrayUser= bintray 계정 id 입니다.

bintrayApiKey= bintray 프로필에 에 있는 apikey 를 입력합니다. 



gpg.passphrase= GPG Key생성시 입력한 암호를 입력합니다.



mavenCentral.user= Sonatype 계정 

mavenCentral.password= Sonatype 암호

Run the build

다음과 같은 gradle task 를 실행합니다.

gradle bintrayUpload

빌드가 성공적으로 완료되었을 시 bintray 사용자 저장소 화면에 올라간 패키지가 나타납니다. oss 사용자로 가입 하셧다면 패키지 안으로 들어갔을때 화면에 Add to jCenter 버튼이 있습니다. 이 것으로 관리자에게 jCenter 링크를 요청합니다. 메일로 승인 여부를 확인하실 수 있습니다.

MavenCentral 등록 승인 요청

https://issues.sonatype.org/browse/OSSRH-35062 처럼 이슈를 하나 등록해줍니다. 이후에 글 상태가 resolved 가 되고 승인 메일이 오면 완료된 것입니다.

다시 배포

이제 승인이 되었으니 build.gradle 의 sync = false 부분을 true 로 변경후 아래 명령어를 실행합니다.

gradle bintrayUpload

빌드가 정상적으로 완료되면 jCenter 와 mavenCentral 에 동시에 배포가 되고 mavenCetral 에 올라가는 것은 시간이 조금 필요합니다. 다시 배포했을때 수정된 내역이 제대로 변경이 안될 경우 version 을 올려서 배포해보세요~

아래는 제가 중앙 저장소로 올린 소스입니다. (gradle.properties 는 제외시켰습니다.)

https://github.com/keehyun2/bowl

참고 사이트

lesstif

jojoldu 블로그

gradle bintray plugin github

'JAVA' 카테고리의 다른 글

Building and distributing Java sources to the Nexus repository  (0) 2017.08.12
Deploying a jar file to the Nexus repository  (0) 2017.08.09
Json Data Parse in Java  (0) 2017.06.25
Redis Java Client  (0) 2017.05.19
Socket Message  (0) 2017.01.08
댓글
글 보관함
최근에 올라온 글
Total
Today
Yesterday
링크