2016-07-26 10 views
7

Jak wykonać ładowanie słoika za pośrednictwem curl Nexusa 3? Próbowałem używać link tips, ale bez powodzenia.jak wgrać JAR na Nexus OSS 3?

Oto moje próby:

curl -v -F r = -F releases hasPom = true and = -F jar -F file = @./v12.1.0.1/pom.xml -F file = @./v12.1.0.1/ojdbc7.jar -u admin: admin123 http: // localhost: 8081/repository/maven releases 

curl -v -F r = -F releases hasPom = false -F and -F jar = g = com.oracle.jdbc -F = ojdbc7 -F v = 1.0 p = -F jar -F file = @./v12 .1.0.1/ojdbc7.jar -u admin: admin123 http: // localhost: 8081/repository/maven releases 

obie mają 400 Bad Request.

+1

Dlaczego masz wszystkie spacje w swoich parametrach? –

Odpowiedz

-2

Zmodyfikowałem twój kod jak poniżej. Spróbuj tego.

curl -v -F r=releases -F hasPom=false -F e=jar -F g=com.oracle.jdbc -F a=ojdbc7 -F v=1.0 -F p=jar -F [email protected]"./v12.1.0.1/ojdbc7.jar" -u admin:admin123 http://localhost:8081/nexus/service/local/artifact/maven/content 

Proponuję również użycie ścieżki pełnej, a nie względnej. Czy możesz udostępnić miejsce, w którym używasz tego fragmentu kodu? Jakieś narzędzie CI, takie jak Jenkins?

+4

URL "usługa/local/artefact" nie jest obsługiwany w Nexusie v3. – grajsek

+0

@grajsek czy możesz potwierdzić, czy ten punkt końcowy odpoczynku został usunięty w OSS3? Zmienię się na to samo. –

+0

Tak, byłem w kontakcie ze wsparciem sonatype. – grajsek

7

Zawartość katalogu

cert_for_nexus.pem

curl.exe

pom.xml

utils-1.0.jar

Nexus v3 jest skonfigurowane dla http

curl -v -u admin: admin123 --upload plik pom.xml http://localhost:8081/nexus/repository/maven-releases/org/foo/utils/1.0/utils-1.0.pom

curl -v -u admin: admin123 utils-1.0.jar --upload-file http://localhost:8081/nexus/repository/maven-releases/org/foo/utils/1.0/utils-1.0.jar

Nexus v3 jest skonfigurowany do https

  • warunek: musi mieć curl z włączonym protokołem SSL (link - lewe menu)

curl -v --cacert cert_for_nexus.pem -u admin: admin123 --upload plik pom.xml https://localhost:8443/nexus/repository/maven-releases/org/foo/utils/1.0/utils-1.0.pom

curl -v --cacert cert_for_nexus.pem -u admin: admin123 --upload-file utils-1.0 .jar https://localhost:8443/nexus/repository/maven-releases/org/foo/utils/1.0/utils-1.0.jar

Zawartość pom.xml

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>org.foo</groupId> 
    <artifactId>utils</artifactId> 
    <version>1</version> 
</project> 

Edycja: stałe -u kolejność obu przykładach https

+2

To wygląda poprawnie - osoba z Sonatype – DarthHater

2

Możesz użyć nexus-cli.

docker run -ti -v $(pwd):$(pwd):ro sjeandeaux/nexus-cli:0.2.0 \ 
          -repo=http://nexus:8081/repository/maven-releases \ 
          -user=admin \ 
          -password=admin123 \ 
          -file=$(pwd)/upload.jar \ 
          -groupID=your.group \ 
          -artifactID=yourArtifactID \ 
          -version=0.1.0 \ 
          -hash md5 \ 
          -hash sha1 
Powiązane problemy