사용자 도구

사이트 도구


nexus

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
nexus [2019/02/23 10:43]
kwon37xi
nexus [2019/06/12 15:35] (현재)
kwon37xi
줄 50: 줄 50:
   * [[http://jagadesh4java.blogspot.com/2016/09/nexus-rest-api.html|My Technical Works: Nexus Rest API]]   * [[http://jagadesh4java.blogspot.com/2016/09/nexus-rest-api.html|My Technical Works: Nexus Rest API]]
   * [[network:httpie|HTTPie]] 기반 예제. 인증 옵션은 상황에 따라 다름   * [[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> <code sh>
줄 55: 줄 71:
 http -a admin:admin123 -v "http://[서버]/service/local/status" http -a admin:admin123 -v "http://[서버]/service/local/status"
  
-# 최신버전. r=리포지토리ID, g=그룹명, a=아티팩트ID, e=jar|war 등.+# 최신버전. 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" http -a admin:admin123 "http://[서버]/service/local/artifact/maven/content?r=repoId&g=groupName&a=art&e=jar&v=LATEST"
  
-# curl+최신버전 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 -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> </code>
  
nexus.1550886224.txt.gz · 마지막으로 수정됨: 2019/02/23 10:43 저자 kwon37xi