maven

maven nexus repository Snapshots 업로드 방법

초이짬 2018. 5. 15. 23:55
728x90

**snapshot 은 deploy 가 수시로 발생되고 updatepolicy 를 잘 정의만 해놓으면 변경이 바로바로 적용되고
release 는 제품 출시와 같기에 변경을 원할경우 지우고 새로 올리고 지우고 새로 받아야 된다.


nexus 를 구축해 놓고 기존에는 만든 라이브러리는 3rd party 에 올렸다

Snapshots 과 Releases 를 구찮아서 안썻는데 이번에 제대로 써보고 싶어 보니

업로드 부분이 보이지 않아 살짝 당황했다.

할려고 했던 바는 자체프레임워크를 만드는데 해당 업데이트가 발생될때마다 Nexus에 올리는 것도 이상하고

올린걸 팀원들이 받을려고 하니 maven local repository 를 지우고 다시 받아야 되는 어이 없는 일이 발생했다

snapshot을 이용하면 이클립스에서 deploy 만 시켜도 알아서 nexus local repository 에 올라가고 올라간 repository

는 pom.xml 에 설정된 설정이
<updatePolicy>always</updatePolicy><!-- 일정시간마다 원격Repo의 pom과 비교하여 필요하면
업데이트 한다 : [always, daily, interval:X, never], default:daily -->

과 같으면 알아서 내려받는다

이런 구조를 만들기 위해서는

일단 nexus 가 있어야 되고

로컬 maven 세팅 파일인 settings.xml 에 서버 정보(id/pw)가 들어가 있어야 한다.

<servers>
<server>
<id>snapshots</id>
<username>[계정ID]</username>
<password>[비번]</password>
</server>
</servers>

그리고 해당 pom.xml 에 분배에 대한 정의가 들어가 있어야 된다.
여기서 중요한건 id는 넥서스에서 지정한 id와 일치해야 하고 넥서스 주소를 그룹으로 묶어서 사용하더라도
정확한 url(snapshot)이 필요하다. 그리고 해당 pom.xml에 정의된 버전의 규칙은 반드시 0.0.1-SNAPSHOT
이런 형식을 유지해야만 된다.(물론 release 버전은 마지막이 RELEASE)

<distributionManagement>
<repository>
<id>snapshots</id>
<name>Snapshots</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>
</repository>
</distributionManagement>

728x90

'maven' 카테고리의 다른 글

이클립스 mvn 명령어 사용법  (0) 2020.02.02
maven snapshot 버전 jenkins 빌드 배포시  (0) 2019.07.17
jenkins 연동  (0) 2019.05.29
nexus proxy 연결시 한번에 다 가져오진 않음  (0) 2019.01.16
maven archetype 생성  (0) 2018.05.10