사용자 도구

사이트 도구


nexus

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
nexus [2015/09/15 11:26]
kwon37xi [설정시 주의점]
nexus [2019/06/12 15:35] (현재)
kwon37xi
줄 46: 줄 46:
 </​code>​ </​code>​
 아때 Nexus 리포지토리에서 해당 아티팩트를 선택하고 **Rebuild Metadata**를 했더니 정상으로 변경되었다. 아때 Nexus 리포지토리에서 해당 아티팩트를 선택하고 **Rebuild Metadata**를 했더니 정상으로 변경되었다.
 +
 +===== Nexus v2 Rest API =====
 +  * [[http://​jagadesh4java.blogspot.com/​2016/​09/​nexus-rest-api.html|My Technical Works: Nexus Rest API]]
 +  * [[network:​httpie|HTTPie]] 기반 예제. 인증 옵션은 상황에 따라 다름
 +  * [[https://​gist.github.com/​cedricwalter/​e7739aab3d370ef83f1a13b8322e50be|Sonatype NEXUS 2 has a rest API :-) but NEXUS 3 has none/not ready, the following simulate curl/wget call]]
 +  * **LATEST** 버전 체크 API 가 인덱스 갱신이 느린지 정상 작동하지 않음.
 +    * 차라리 https://​stackoverflow.com/​a/​40378096/​1051402 이 방식이 작동함
 +<code sh>
 +# maven-metadata.xml URL을 group/​artifact 에 따라 달라짐
 +wget -O - -o /dev/null https://​repo1.maven.org/​maven2/​org/​brutusin/​wava/​maven-metadata.xml | grep -Po '​(?<​=<​version>​)([0-9\.]+(-SNAPSHOT)?​)'​ | sort --version-sort -r| head -n 1
 +# 혹은 curl 로
 +curl -s https://​repo1.maven.org/​maven2/​org/​brutusin/​wava/​maven-metadata.xml | grep -Po '​(?<​=<​version>​)([0-9\.]+(-SNAPSHOT)?​)'​ | sort --version-sort -r| head -n 1
 +
 +last_version=$(wget -O - -o /dev/null http://​nexus.myrepo/​content/​repositories/​releases/​myjar/​maven-metadata.xml | grep -Po '​(?<​=<​version>​)([0-9\.]+(-SNAPSHOT)?​)'​ |
 +sort --version-sort -r| head -n 1)
 +
 +# snapshot 의 최신 빌드를 확인하려면 - last_version 을 안다고 했을 때
 +curl -s "​https://​repo1.maven.org/​maven2/​org/​brutusin/​wava/​${last_version}-SNAPSHOT/​maven-metadata.xml"​ | grep -Po '​(?<​=<​value>​)([0-9\.\-]+)'​ | sort --version-sort -r | head -n 1
 +
 +</​code>​
 +
 +<code sh>
 +# 서버 상태
 +http -a admin:​admin123 -v "​http://​[서버]/​service/​local/​status"​
 +
 +# 최신버전. r=리포지토리ID,​ g=그룹명,​ a=아티팩트ID,​ e=jar|war 등. 잘 작동안함.
 +http -a admin:​admin123 "​http://​[서버]/​service/​local/​artifact/​maven/​content?​r=repoId&​g=groupName&​a=art&​e=jar&​v=LATEST"​
 +
 +# 최신버전 curl 잘 작동안함
 +curl -u "​admin:​admin123 http://​[서버]/​service/​local/​artifact/​maven/​content?​r=repoId&​g=groupName&​a=art&​e=jar&​v=LATEST"​ -o art.jar
 +
 +# 특정 버전 명시 curl : 특정버전 명시할 때는 잘 작동함.
 +## r=snapshots,​ v=1.0.1-SNAPSHOT 형태로 스냅샷을 지정하면 스냅샷도 잘 받아짐.
 +curl -u "​admin:​admin123 http://​[서버]/​service/​local/​artifact/​maven/​content?​r=repoId&​g=groupName&​a=art&​e=jar&​v=VERSION"​ -o art.jar
 +</​code>​
  
nexus.1442285778.txt.gz · 마지막으로 수정됨: 2015/09/15 11:26 저자 kwon37xi