1

私のセットアップは、git リポジトリをポーリングし、各プッシュで nexus リポジトリに公開するジェンキンスです。次に、このアーティファクトを取得してテスト サーバーにデプロイするダウンストリーム プロジェクトがあります。このプロジェクトは、jenkins 用のアーティファクト リゾルバー プラグインを使用しており、バージョンとして "LATEST" を使用しています。

私が気づいたことは次のとおりです。新しいスナップショットを公開した後、メタデータは特定のバージョン フォルダーでのみ更新されます。特定のバージョンのメタデータは正しいです:

https://repo.woodenstake.se/content/repositories/snapshots/se/uniply/dfkka_2.10/1.2.7-SNAPSHOT/maven-metadata.xml :

<metadata modelVersion="1.1.0">
<groupId>se.uniply</groupId>
<artifactId>dfkka_2.10</artifactId>
<version>1.2.7-SNAPSHOT</version>
<versioning>
<lastUpdated>20130524112854</lastUpdated>
</versioning>
</metadata>

https://repo.woodenstake.se/content/repositories/snapshots/se/uniply/dfkka_2.10/maven-metadata.xml

古いタイムスタンプを示します:

<metadata modelVersion="1.1.0">
<groupId>se.uniply</groupId>
<artifactId>dfkka_2.10</artifactId>
<versioning>
<latest>1.2.7-SNAPSHOT</latest>
<release/>
<versions>
<version>1.2.7-SNAPSHOT</version>
</versions>
<lastUpdated>20130523200733</lastUpdated>
</versioning>
</metadata>

したがって、アーティファクト リゾルバーは最新バージョンをダウンロードせず、ローカル ディレクトリからキャッシュされたバージョンを使用するだけです。Nexus がバージョンを更新しないのはなぜですか? 見逃した設定はありますか?

より詳しい情報:

パブリッシュプラグイン(ボンネットの下のアイビー)でsbt 12.2を使用しています。

4

3 に答える 3

2

SBT Google グループでもこれについて質問しました: https://groups.google.com/forum/?fromgroups#!topic/simple-build-tool/ErA1ybeRXec

さらに調査を行った後、このスレッド

https://groups.google.com/forum/?fromgroups#!topic/simple-build-tool/okaoV3SDH24

Ivy はこれらのファイルを Maven の使用時に期待される方法で PUT しないと述べているようです。解決策は、「発行」ではなくMavenの方法で「デプロイ」するSBT用のAetherプラグインを使用することです。

https://github.com/arktekk/sbt-aether-deploy

これを使用して、xml:s も SBT ビルドの PUT:s で更新されました。

于 2013-05-24T13:14:18.647 に答える
1

実際、Nexus はこれらのファイルをまったく保持していません。ビルドシステムがそれを行います。Maven を使用している場合は、デプロイ プラグインが処理します。

sbt with ivy はそれを適切に行っていないようです。@hedefalk の提案に従って、sbt-aether-deploy ツールを統合することをお勧めします。

応急措置として、リポジトリでメタデータの再構築タスクを定期的に実行できます。

于 2013-05-31T20:05:09.833 に答える
0

ivy および Maven スナップショット リリースに関連するその他の回答:

要約すると、スナップショット リリースは、ivy によって完全にサポートされていない Maven 機能です。

于 2013-05-24T19:11:14.717 に答える