2012-07-25 26 views
9

現在、(別の地理的な場所にある)ネクサスのホストリポジトリがリモートにあります。私たちは、ローカル・プロキシ・リポジトリをホスト・リポジトリに対してローカルに持っています。自動ミラーリングNexus Proxy Repository

リモートホストリポジトリにいくつかのファイルの新しいバージョンが追加されるたびに、新しく追加されたファイルのビルドシステムからの最初の要求がlocal-proxy-repositoryにダウンロードされます。

私が今問題にしているのは、追加されるファイルの一部が実際には巨大であるということです(約400 MB)。したがって、最初のビルドでは多くの時間がかかります。

リモートホストリポジトリをポーリングして自動ミラーリングする方法はありますか?

+0

upvoterに - 私がやったことは、私が仕事を始める前に、新しい依存関係のダウンロードリクエストを送るジェンキンスジョブを実行していることです。 – Chris

答えて

5

Nexus Professional 2.+は、これをスマートプロキシ機能の実験的機能としてサポートしています。デフォルトでは無効になっている実験的な機能ですが、正常に動作するはずです。試してごらん!

これを有効にするには、「管理/機能」に移動します。 「show advanced」にチェックを入れ、「smart proxy:subscribe」を選択し、プリエンプティブフェッチを有効にします。

アップデート:Nexus 2.3以降、これは実験的なものではなくなりました。プロキシをオフにしたリポジトリごとに設定することができます。

+0

返信ありがとうございます。 2.0.4-1 Nexusを使用していますが、指定したオプションが見つかりませんでした。しかし、ここに私がしたことがあります: "Shadow Repositoryの同期化"というスケジュールされたタスクを追加し、それを毎日スケジュールしました。これは私が何を達成するだろうか? – Chris

+1

私が言ったように... SmartProxyはNexus Professionalの機能です。オープンソースを使用している場合、そこには存在しません。 Synchronize Shadow Repositoryは、同じリポジトリサーバ上の仮想リポジトリと実際のリポジトリを同期させるためのものです。まったく異なるものです。 –

0

私はManfredの答えにコメントするので、ここで新しい変種であることはできません。

あなたがネクサスProfessionalを実行している場合は、リポジトリを同期するために、スマートプロキシを使用することができます。

まず、http://www.sonatype.com/books/nexus-book/reference/smartproxy.htmlに記載されている一般的な設定を実行する必要があります(信頼を確立し、ホストされているリポジトリを公開し、プロキシの受信をセットアップします)。

「管理/機能」に移動して、「詳細表示」にチェックを入れ、プロキシレポの 「購読」機能を選択します。そこにプリエンプティブ フェッチをオンにすると、プロキシ上のホストされたリポジトリに新しいアーティファクトが自動的にダウンロードされます。

+0

これはすでに私が提供しているのと同じ回答です... –

+0

リポジトリにpublish/receiveを設定する方法の詳細がいくつか追加されています。それがなければ、能力は創造されません。 – nabcos