2016-09-07 35 views
0

だから私はかなり全体のレポを反映したいと思いますが、それは何(How do I use Artifactory to mirror linux distributions?によって証明されるように)とても簡単だと思われるん私が持っているんArtifactory古いバージョン

一つの疑問、のは、私はリモートレポを設定しているとしましょうArtifactory、そして私はそれが決してキャッシュを期限切れにするように設定しました。パッケージがソースリポジトリから削除されても、Artifactoryのキャッシュに入っていたらどうなりますか?まだapt/yumなどでインストールできますか?これの良い例は、Ubuntu PPAsです。彼らは、置き換えられた古いバージョンを削除するようですが、Artifactoryを使用して、特定のパッケージのバージョンをフリーズすることができます。

答えて

2

一般に、アーティファクトがキャッシュされると(少なくとも1回はダウンロードされる)、アップストリームリポジトリ内のアーティファクトの状態を気にする必要はありません。これはArtifactoryがあなた自身の社内レポジトリ以外のものに依存できない状況で優れている理由です。

しかし、完全な答えはそれより少し複雑です。 Artifactoryは「有能なリソース」と呼ばれるものを使用します。これらは、リモートリポジトリの「Metadata Retrieval Cache Period」パラメータで定義された期間に従って定期的に期限切れになるファイルです。このパラメータについては、他のパラメータの中で説明しているCache Settingsを参照してください。

この設定は、Artifactoryが期限切れとみなす特定のファイルにのみ影響します。これらは、常にDebianリポジトリの "Packages"ファイルや "Release"ファイルなどのメタデータファイルです。その根本的な前提は、これらのファイルがアップストリームリポジトリで時々変更され、問題のアーティファクトの新しいバージョンの参照を含んでいるため、古くなったコピーを永遠に残したくないということです。 他の(期限のない)ファイルは、意図的に削除しない限り、Artifactoryにキャッシュされたままになります。なぜなら、それらはリリースの成果物であり、リリースアーチファクトは不変であるからです。

上流のリポジトリから.debファイルが削除されている場合、それを参照するメタデータファイル(つまり、このパッケージのファイルにはこの.debファイルのすべてのバージョンとその親の "Release"ファイルへの参照が保持されます)もそれに応じて変更されるため、APTクライアントが有効期限切れで再取得された場合、古いバージョンをダウンロードできなくなる可能性があります。あなたが特定の状態であなたのリモートリポジトリを保持したい場合は は、次の2つのオプションがあります:「オフライン」(Additional Basic Settingsを参照)としてリポジトリを1.Setting

を - これはArtifactoryは、上流からアーティファクトを取得しようとしないことを意味しますレポし、キャッシュされたものだけを提供する。

2.「メタデータ検索キャッシュ期間」をより高い値に設定します(デフォルト値は10分です)。

HTH、

+0

おかげで、これは助けを行い、実際に直接、私は(PPAのアップデート、古いリリースがリリースファイルから削除されているという事実である)のために何が起こっていたか答えます。私はArtifactoryがリリースファイルをマージして、パッケージが上流になり、リリースファイルの新しいものに置き換えられたとしてもキャッシュされたパッケージを利用できるようにするかどうか疑問に思っていました。リモートリポジトリを追加したり、キャッシュをwgetで「暖め」てオフラインとして設定するように聞こえるかもしれません。 – Peter

関連する問題