2012-06-14 2 views
3

을 유물을 게시 ....넥서스 관리에 정통한하지 않기 위하여, REST API를 통해 넥서스에 POST

엽니 네트워크 호출을 보는 콘솔을 "손으로"이슈를 업로드 할 때. Maven 또는 Ivy를 사용하여 건너 뛰고 Nexus에 업로드하고 싶습니다. 모든 문의는 ExtJS XHR 호출을 통해 진행됩니다. 단, Chrome 개발자 도구에 문서 호출로 표시되는 이슈 정보 게시는 예외입니다 (ExtJS를 통해 발행 된 양식 제출이라고 가정).

컬 (가능한 경우 멀티 파트 양식이 말림으로 처리되는 방법을 모르는 경우)을 사용하여 시뮬레이션을 시도하지 않았지만 이것이 Ivy 또는 Maven의 전통적인 게시 외에 아티팩트를 "게시"하는 유일한 방법입니까? Nexus에는 Java API가 있지만 REST HTTP 환경 (Nexus REST 서비스가 기본적으로 Apache의 HTTPCLIENT와 같은 멀티 파트 양식 게시를 원할 때)을 유지하려고합니다. 그것은 당신의 메이븐 모듈에 필요한 다른 파일에 대한 직접 유물을 게시 가능하지만, 무엇을,

간단히 말해서 :

+1

경고. 스냅 샷 리비전을 게시하면 클라이언트가 개정 된 Maven 모듈의 메타 데이터 파일을 업데이트해야합니다 ... 문서화되지 않은 "feature"로 나타납니다 :-) –

답변

18

사용 컬 :

curl -v \ 
    -F "r=releases" \ 
    -F "g=com.acme.widgets" \ 
    -F "a=widget" \ 
    -F "v=0.1-1" \ 
    -F "p=tar.gz" \ 
    -F "[email protected]/widget-0.1-1.tar.gz" \ 
    -u myuser:mypassword \ 
    http://localhost:8081/nexus/service/local/artifact/maven/content 

이 사람들이 받는다는 사용하지 않는 비 자바 종속성 작동합니다. 이 답변에 대한 내 의견 : https://stackoverflow.com/a/19699327/231573을 참조하십시오.

+0

이것은 서버 쪽에서 아카이브를 확장하지 않습니다. 즉, nexus 서버에 배포 된 일부 파일 만 다운로드 할 수는 없습니다. 많은 경우에 그것은 바로 자바가 아닌 사람들이 원하는 것입니다. – sorin

+1

"405 Method Not Allowed"가 응답 상태가됩니다. 그것은 "HTTP 메서드 POST는이 URL에서 지원되지 않습니다"라고 말합니다. 나머지 API를 설치하거나 사용하려면 무언가를 설치해야합니까? –

+1

좋아, Nexus 3가 여기서 언급 한 내용을 지원하지 않기 때문이라고 생각합니다. –

0

는 Sonatype에서이 응답을 발견하셨습니까? POM되는 가장 중요한 ...

파일을 업로드하는 가장 간단한 방법은 배포 파일 플러그인을 사용하는 것입니다

Upload artifacts to Nexus, without Maven

거기를 메이븐 클라이언트를 사용하면 안되는 충분한 이유?

+0

Maven POM을 멀티 파트 폼 업로드에 첨부 할 수 있습니다. Curl에서 예제로 다시 작성합니다. 모든 이유로 Maven을 사용하지는 않지만 대부분의 저장소가 Maven을 기반으로하므로 Nexus를 사용해 보았습니다. Ivy는 예를 들어 Maven repos와 통합됩니다. Maven/Ivy없이 솔루션을 원했고 REST를 통해 잘하면. –

관련 문제