アーティファクトリポジトリとは何ですか?


回答:


32

開発中に、かなりの量のさまざまなアーティファクトを生成します。これらには以下が含まれます。

  • ソースコード
  • コンパイルされたアプリケーション
  • デプロイ可能なパッケージ
  • ドキュメンテーション

そして潜在的に他の人も

ソース管理システムを使用してそれらすべてを保存することもできますが、通常、ソース管理システムはバイナリファイルではなくテキストベースのファイルを処理するように設計されているため、非常に非効率的です。ほとんどのリリースがテキストベースであり、大量のバイナリデータを保存する必要がない場合は、単純なストレージメカニズムとして使用できます。

ただし、アーティファクトリポジトリは、バイナリファイルを含むあらゆる種類のファイルを格納するように設計されています。これには、ソースコードの圧縮から結果の構築、ドッカーイメージなどまでが含まれます。また、通常、これらのアーティファクトを保存するだけでなく、次のようなさまざまな追加機能を使用してそれらを管理することもできます。

  • バージョニングのサポート:各アーティファクトがいつ作成されたか、バージョン番号が何であるか、ハッシュを保存するなど、メタデータを適切に保存
  • 保存:重要なアーティファクトのみを保持し、設定可能なさまざまな基準に基づいて、スナップショットのみである/不要になったアーティファクトなどを自動的に削除します。
  • アクセス制御:さまざまなアーティファクトを公開できる人とダウンロードできる人を設定します
  • プロモーション:アーティファクトを促進する機能。たとえば、コーダーの近くのサーバーに保持期間の短いスナップショットアーティファクトを、ライブサーバーの近くに別のリポジトリを配置して、デプロイ可能と見なされたアーティファクトのみを表示することができます。これには、さまざまなバージョンチャネルのサポート、およびチャネル間での成果物の移動(特定のバージョンをベータ版から安定版に昇格させるなど)も含まれます。
  • アーティファクトのネイティブリポジトリとして機能します。つまり、Maven、Rubygems、Dockerなどのメインリポジトリとして使用できます。これには、公式リポジトリからのアーティファクトのキャッシュも含まれます。

バージョン管理のサポートに「チャネル」機能を追加する価値があります。チャネル「開発」の最新リリースをターゲットとするマシンと、チャネル「安定」の特定のバージョンをターゲットとするマシンを使用できます。
テンシバイ

@ Pierre.Vriensはいくつかの小さなコメントを追加しましたが、別の質問でも対応できる可能性があります
-SztupY

merci、しかし
念の

これらの種類のリポジトリの構成ファイルまたはフィクスチャも追跡するのは理にかなっていますか?
ツツカ

7

リポジトリマネージャーとユニバーサルパッケージリポジトリマネージャー(UPM)があります。

UPMは、Jenkins、teamcityなどのすべてのビルドアーティファクトを保存でき、通常、Maven、npm、NuGetなどのさまざまな種類のバイナリアーティファクトのリポジトリマネージャーとしても機能します。

これらは、Jfrog ArtifactoryInedo ProGetSonatype Nexusなどのツールになります。

かなりまともな比較はこちらです:https : //binary-repositories-comparison.github.io/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.