2017-12-20 18 views
1

私はsbt-native-packagerを使用してrpmを作成し、Nexus経由でmaven2のホストされたレポに格納します。これはNexus 2ではうまくいきましたが、Nexus 3に移行すると、rpmをレポに受け入れなくなりました。 jar、sources-jar、sources-javadoc、およびpom fineを受け入れますが、rpmになると、502 Bad Gatewayエラーが発生します(これは、Mavenタイプに適合しないことを意味します)。RPMをnexus 3に公開

java.io.IOExceptionは:不正なゲートウェイ

つの質問:

1)publishToに回転数の異なるネクサスエンドポイントをpublishToを伝える方法はありhttp://nexus.snip.com/repository/releases/com/snip/email-dispatcher-consumer/1.0.17/email-dispatcher-consumer-1.0.17.rpmをURLにPUT操作は、ステータスコード502で失敗しましたか?おそらく生のホストされたレポ?私は以下を試した:

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

しかし、これは望む効果がなかった。

2)Nexus 2のようにrpmを既存のレポにプッシュする方法はありますか?に回転数のpublishToを伝える方法はあり

私たちはこれにSBT-リリースを使用して、私は、リリースプロセスを次のように解放ステップを追加し、これはネクサス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 
}) 

答えて

1

でうまく働いpublishTo別のネクサスエンドポイント?おそらく生のホストされたレポ?

はい、あります。私はちょっと自分でちょっとしたことをしなければならなかった。あなたはほぼ正しいと思っていますが、sbt/ivyはリゾルバを見つけるために一意の文字列名を使用するので、正しいスコープでそれらを追加する必要があります。あなたがプラグインのDeploymentにこれを追加するためにsbt-native-packagerで問題を開くことができれば素晴らしいでしょう。

// 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")) 

我々はネクサス2で行ったように、既存のレポに回転数をプッシュする方法はありますか?私にはわからない:(

は、最初の答えはあなたの役に立てば幸い:)

歓声と幸せな新年、 Muki

+0

恐ろしい感謝を! –

関連する問題