2017-12-20 11 views
1

Ich benutze sbt-native-Packager um eine rpm zu bauen, die wir dann in einem maven2 gehosteten Repo über Nexus speichern. Das funktionierte großartig in Nexus 2, aber sobald wir zu Nexus 3 gewechselt hatten, akzeptierte es nicht mehr die Drehzahl in das Repo. Es akzeptiert das jar, sources-jar, sources-javadoc und pom in Ordnung, aber wenn es um die rpm geht, gibt es einen 502 Bad Gateway error (was meiner Meinung nach bedeutet, dass es nicht dem Maven-Typ entspricht?)Publish RPM zu Nexus 3

java.io.IOException: PUT Betrieb http://nexus.snip.com/repository/releases/com/snip/email-dispatcher-consumer/1.0.17/email-dispatcher-consumer-1.0.17.rpm URL fehlgeschlagen mit dem Statuscode 502: Bad Gateway

Zwei Fragen:

1) gibt es eine Möglichkeit, einen anderen Nexus Endpunkt der publishTo in Umdrehungen pro Minute publishTo zu erzählen? Vielleicht ein rohes gehostetes Repo? Ich habe folgendes versucht:

publishTo in Rpm := { 
    val nexus = "http://nexus.snip.com/" 
    Some("releases" at nexus + "repository/rpm-build-storage") 
} 

Aber das hatte nicht den gewünschten Effekt.

2) Gibt es eine Möglichkeit, wie in Nexus 2 die Drehzahl in das vorhandene Repo zu schieben?

Wir verwenden sbt-Release mit diesem und ich addierten die folgenden Freigabeschritt zum Freigabeprozess, und das hat gut funktioniert mit Nexus 2

val publishRPM = ReleaseStep(action = st => { 
    val extr: Extracted = Project.extract(st) 
    val ref: ProjectRef = extr.get(thisProjectRef) 
    extr.runAggregated(
     publish in Rpm in ref, 
     st 
    ) 
    st 
}) 

Antwort

1

Gibt es eine Möglichkeit, die publishTo in Rpm zu sagen, zu einem anderen Nexus-Endpunkt veröffentlichen? Vielleicht ein rohes gehostetes Repo?

Ja, gibt es. Ich musste selbst ein bisschen mit sbt experimentieren. Sie haben fast alles richtig gemacht, aber sbt/ivy verwendet eindeutige String-Namen, um Resolver zu finden, also müssen Sie sie im richtigen Bereich hinzufügen. Es wäre toll, wenn Sie ein Problem auf sbt-native-Packager öffnen könnten, um dies in den Deployment Plugins hinzuzufügen.

// NOT NECESSARY. This resolver is automagically added to the `otherResolvers` setting. 
publishTo := Some(Resolver.file("file-target", target.value/"ivy2")) 

// add your resolver to the `otherResolvers` setting and rpm:publish will find it 
otherResolvers += Resolver.file("file-rpm", target.value/"ivy2-rpm") 
publishTo in Rpm := Some(Resolver.file("file-rpm", target.value/"ivy2-rpm")) 

Gibt es eine Möglichkeit die Drehzahl in die bestehenden Repo zu schieben, wie wir in Nexus 2 getan haben?

Das weiß ich nicht :(

hoffen, dass die erste Antwort hilft Ihnen :)

Jubel und ein glückliches neues Jahr, Muki

+0

Ehrfürchtig Dank! –