Azure Artifacts の主要な概念

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

不変性

特定のバージョンのパッケージをフィードに発行すると、そのバージョン番号は完全に予約されます。 同じバージョン番号の新しいリビジョン パッケージをアップロードしたり、削除して同じバージョン番号の新しいパッケージをアップロードしたりすることはできません。

NuGet や npm を含む多くのパッケージ クライアントは、マシン上にパッケージのローカル キャッシュを保持します。 クライアントが特定のパッケージ バージョンをキャッシュすると、将来のインストール/復元要求でそのコピーが返されます。

サーバー側で、パッケージ バージョン v1 を新しいバージョン v2 に置き換えた場合、クライアントは違いを見分けることができません。 これにより、異なるマシンからのビルド結果が不確定になる可能性があります。 たとえば、開発者のマシンとビルド エージェントによってパッケージの異なるリビジョンがキャッシュされ、予期しないビルド結果が発生する可能性があります。

パッケージが壊れている、バグがある、または意図しないコンテンツ (シークレットなど) を共有している場合は、修正プログラムを準備し、新しいバージョンとして公開することをお勧めします。 その後、問題の重大度とパッケージにどの程度依存しているかに応じて、パッケージを削除して使用できないようにすることができます。

不変制約を回避する唯一の方法は、新しいフィードを作成し、目的のパッケージ バージョンを新しいフィードに発行することです。

Note

削除されたフィードは、30 日間ごみ箱に再メインされ、完全に削除されます。 フィードが完全に削除されると、フィード名が使用できるようになります。

インデックス作成

Azure Artifacts メイン各フィード内のすべてのパッケージのインデックスが格納されるため、高速なリスト操作が可能になります。 ファイル共有に対するリスト操作では、クライアントが認識するインデックスを提供するようにファイル共有が構成されていない限り、すべてのパッケージを開いてメタデータを調べる必要があります。

整形式

Azure Artifacts は、発行されたすべてのパッケージが整形式であることを確認するために検証します。 これにより、無効なパッケージが開発環境とビルド環境に入るのを防ぐことができます。 ただし、不正な形式のパッケージを発行するワークフローは、Azure Artifacts に移行すると中断されます。

ごみ箱

パッケージは、手動で削除することも、フィードのアイテム保持ポリシーを設定して削除することもできます。 削除されたパッケージは、30 日間ごみ箱に再メインされ、完全に削除されます。 フィードの所有者は、削除されたパッケージをごみ箱から回復できます。