Azure Artifacts の主な概念

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

Azure Artifactsは、チームがパッケージのホスト、共有、管理を行い、コラボレーションとパッケージの配布を効率化するのに役立ちます。 この記事では、Azure Artifactsを使用してパッケージを発行、使用、または管理する前に理解しておく必要がある主要な概念について説明します。

フィード

フィードは、アクセスを制御しながらパッケージを格納、管理、共有するための構造化された方法を提供する組織の構成要素です。 フィードは 1 つのパッケージの種類に限定されるものではなく、npm、NuGet、Maven、Python、Cargo、ユニバーサル パッケージなど、さまざまなパッケージの種類をホストできます。

フィードのスコープは、プロジェクトまたは組織に設定できます。 パブリック プロジェクトでホストされているプロジェクト スコープ のフィードのみをパブリックにすることができ、組織スコープのフィードをプロジェクト スコープ のフィードに変換することはできません。 詳細については、「Azure Artifactsフィードとは」と「フィードスコープ」を参照してください。

フィード ビュー

フィード ビューを使用すると、選択したパッケージ バージョンのサブセットをコンシューマーと共有できます。 一般的なユース ケースは、まだ開発中のバージョンや品質バーを満たしていないバージョンを保持しながら、テスト済みおよび検証済みのパッケージ バージョンのみを共有することです。

すべてのフィードには、既定で 3 つのビュー ( @local@prerelease@release) が含まれています。 後者の 2 つの名前を変更または削除できますが、 @local が既定のビューであり、フィードに直接発行されたすべてのパッケージと、アップストリーム ソースから保存されたすべてのパッケージが含まれています。 詳細については、「フィード ビューとは」を参照してください。

上流源

アップストリーム ソースを使用すると、複数の配信元のパッケージを 1 つのフィードに格納できます。 これには、直接発行するパッケージと、外部フィードまたは NuGet.org や npmjs.com などのパブリック レジストリから保存されたパッケージ が含まれます。 フィードでアップストリーム ソースを有効にすると、Azure Artifactsはコラボレーター以上によってインストールされたパッケージのコピーをそのソースから自動的に保存します。

NuGet や Maven などの複数のフィードをサポートするパブリック パッケージ マネージャーの場合、フィードのクエリ順序は異なる場合があります。 たとえば、NuGet は、構成されているすべてのフィードに並列クエリを送信し、受信した最初の有効な応答を使用します。これは、非決定的な動作につながる可能性があります。 アップストリーム ソースでは、フィードとそのアップストリーム ソースを固定順序で検索することで、この不確定性が解消されます。フィードに直接発行されたパッケージ、アップストリーム ソースから既に保存されているパッケージ、最後に各アップストリーム ソースから利用可能なパッケージがフィードの構成に表示される順序で検索されます。

手記

高速参照機能を最大限に活用するには、構成ファイル内の 1 つのフィードのみを参照します。 詳細については、「Azure Artifactsのパッケージ グラフ」を参照してください。

アクセス許可と役割

フィードへのアクセスは、閲覧者、コラボレーター、共同作成者、所有者などのフィード ロールを通じて制御します。 これらのロールは、パッケージの表示、アップストリーム ソースからのパッケージの保存、新しいパッケージの発行、フィード設定の管理を行うことができるユーザーを決定します。 詳細については、「 フィードのロールとアクセス許可」を参照してください。

不変

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

保持とごみ箱

パッケージは手動で削除することも、保持ポリシーを構成して、新しいバージョンが発行されると、フィードによって古い、再現されていないパッケージ バージョンが自動的に削除されるようにすることもできます。 削除されたパッケージはごみ箱に移され、Azure Artifacts によって完全に削除されるまで 30 日間保持されます。 ごみ箱からパッケージを復元できるのはフィード所有者だけです。

フィードを削除するには、フィードの所有者である必要もあります。 削除されたフィードは、完全に削除されるまで 30 日間ごみ箱に残り、フィード名は一度再利用できるようになります。 詳細については、「 パッケージの削除と回復」を参照してください。

インデックス作成

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

形式の一貫性

Azure Artifactsは、発行されたすべてのパッケージの整合性と正確性を検証します。これにより、無効なパッケージが開発環境に入るのを防ぐことができます。 既存のワークフローで形式が正しくないパッケージを発行する場合は、パッケージが検証に合格するように、Azure Artifactsに移行する前に変更してください。

Symbols

シンボル ファイルは、コンパイルされたバイナリをソース コードにマップして、ネイティブ実行可能ファイルをデバッグできるようにします。 Azure Artifactsには、パッケージと共にシンボル ファイルを発行および使用できる専用のシンボル サーバーが用意されています。 詳細については、「 シンボルの概要」を参照してください。

ストレージと課金

Azure Artifacts では、すべてのフィードにまたがるすべてのパッケージの合計サイズに基づいて、組織ごとにストレージ料金が請求されます。 ストレージの制限に近づくと、組織レベルで使用量を監視し、アラートを設定できます。 詳細については、「Azure Artifacts ストレージ使用量の監視」および「パッケージのサイズと数の制限」を参照してください。