0

Artifactory サーバーが実行されているローカル マシンで Artifactory の Maven リポジトリを再利用できるかどうかを調べようとしています。以下は、私がやろうとしていることの詳細です。

Artifactory を実行するサーバーがあり、同じサーバーに Jenkins をセットアップする予定です。可能であれば、サーバーに Maven リポジトリを 1 つだけ配置したいと考えています。Artifactory は既にそこで実行されているので、ある種の Maven リポジトリを維持していると思います (探してみましたが見つかりませんでした)。

現在、Jenkins が Maven を使用して Maven プロジェクトをビルドすると、依存する jar がサーバー上のローカルの Maven リポジトリ (.m2 フォルダー) にダウンロードされます。これの代わりに、Maven が使用している settings.xml を Artifactory がすべての jar を格納する Artifactory の下のローカル フォルダーにポイントすることは可能でしょうか? 基本的に、maven にはすべての jar がローカル リポジトリ (artifactory が維持している) で既に利用可能であると考えてほしいので、artifactory からすべての jar をダウンロードする必要はありません。

Maven と Artifactory が同じリポジトリ フォルダーを共有できる場合、これは可能です。しかし、Artifactory が独自の構造を使用して Maven リポジトリを維持している場合 (maven が .m2 フォルダーで従う構造以外のもの)、これは不可能です。

Artifactory が Maven リポジトリ マネージャーであるという事実を除けば、Artifactory に関する知識はほとんどありません。

4

1 に答える 1

1

より多くの研究がこれが不可能であることを示唆しているので、ここで私自身の質問に答えます。私はここSOで次のような別の質問を見つけました:

Artifactoryは、Javaコンテンツリポジトリ(JCR)標準を使用してアーティファクトを格納します。これは、ファイルシステムやリレーショナルデータベースなどを含むさまざまなストレージ実装を抽象化したものです。いずれの場合も、JCRはチェックサム(サイズと帯域幅を減らすため)によってストアを管理するため、リポジトリをファイルシステムで直接参照することはできません。デフォルトの実装では、バイナリをファイルシステム($ ARTIFACTORY_HOME / data /filestore内およびDerbyDBのメタデータ内)に保存します。

Artifactoryがリポジトリを管理する方法

Nexusの連中によるブログ投稿も、これは不可能であることを示唆しています。 NexusとArtifactoryの対比->対比#2

于 2013-01-07T21:30:31.040 に答える