Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020
Azure Artifacts を使用すると、開発者はさまざまな種類のパッケージをホストおよび共有して、コラボレーションとパッケージの配布を効率化できます。 この記事では、Azure Artifacts を使用するときの主な概念について説明します。
フィード
Azure Artifacts フィードは、アクセスを制御しながらパッケージを格納、管理、共有するための構造化された方法を提供する組織の構成要素です。 フィードは特定のパッケージの種類に限定されるものではなく、npm、NuGet、Maven、Python、Cargo、ユニバーサル パッケージなど、さまざまな種類をホストできます。 フィードは、プロジェクトまたは組織にスコープを設定できます。 ただし、パブリックとして設定できるのはプロジェクト スコープのフィードのみであり、組織を対象範囲とするフィードはプロジェクト スコープ のフィードに変換できません。
フィード ビュー
フィード ビューを使用すると、開発者は選択したパッケージ バージョンのサブセットをコンシューマーと共有できます。 一般的なユース ケースは、テスト済みおよび検証済みのパッケージ バージョンのみを共有し、開発中のパッケージを保持しているか、特定の品質基準を満たしていない場合です。
既定では、フィードには、 @local
、 @prerelease
、 @release
の 3 つのビューが含まれます。 後者の 2 つは、必要に応じて名前を変更または削除できます。
@local
は、アップストリーム ソースでよく使用される既定のビューであり、フィードに直接発行されたすべてのパッケージと、アップストリーム ソースから保存されたパッケージが含まれています。
上流源
アップストリーム ソースを使用すると、1 つのフィード内に複数のソースのパッケージを格納できます。 これには、発行するパッケージと、外部フィードから保存されたパッケージと、NuGet.org や npmjs.com などのパブリック レジストリの両方が含まれます。 フィードでアップストリーム ソースが有効になっている場合、Azure Artifacts は、コラボレーター以上によってインストールされたパッケージのコピーをアップストリーム ソースから自動的に保存します。
NuGet や Maven などの複数のフィードをサポートするパブリック パッケージ マネージャーの場合、フィードのクエリ順序は異なる場合があります。 たとえば、NuGet は、構成されているすべてのフィードに並列クエリを送信し、受信した最初の有効な応答を選択します。これは、非決定的な動作につながる場合があります。
アップストリーム ソースは、フィードとそのアップストリーム ソースを次の順序で検索することで、この非決定的な動作を軽減するのに役立ちます。
フィードに直接発行されたパッケージ。
アップストリーム ソースから保存されたパッケージ。
アップストリーム ソースから利用できるパッケージ。 各アップストリーム ソースは、フィードの構成に表示される順序で検索されます。
手記
高速参照機能を最大限に活用するには、構成ファイルに含めるフィードを 1 つだけにすることをお勧めします。
不変
特定のバージョンのパッケージをフィードに発行すると、そのバージョン番号は完全に予約されます。 同じバージョン番号のパッケージの新しいリビジョンをアップロードすることも、同じバージョン番号の新しいパッケージを削除してアップロードすることもできません。
インデックス作成
Azure Artifacts では、各フィード内のすべてのパッケージのインデックスが保持されるため、高速なリスト操作が可能になります。 これは、クライアントが認識するインデックスを提供するようにファイル共有が構成されていない限り、クライアントが各パッケージを開いてメタデータを調べる必要があるファイル共有とは異なります。
形式の一貫性
Azure Artifacts では、公開されているすべてのパッケージが検証され、整合性と正確性が確保されます。 これは、無効なパッケージが開発環境に入らないようにするのに役立ちます。 形式が正しくないパッケージを発行し、Azure Artifacts への移行を計画しているワークフローがある場合は、移行中にワークフローを変更して、パッケージが Azure Artifacts の検証チェックに合格するようにすることが重要です。
ごみ箱
パッケージは、手動で削除することも、フィードのアイテム保持ポリシーを設定して削除することもできます。 削除されたパッケージは、自動的に完全に削除されるまで、30 日間ごみ箱に残ります。 削除されたパッケージをごみ箱から回復できるのはフィード所有者だけです。
フィードを削除するには、フィードの所有者である必要があります。 削除されたフィードは、自動的に完全に削除されるまで、30 日間ごみ箱に残ります。 フィードが完全に削除されると、フィード名が使用可能になります。