次の方法で共有


パッケージの削除と回復

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

Azure Artifacts は、直接発行された場合でもアップストリーム ソースから保存された場合でも、さまざまなパッケージの種類をフィードに安全に格納します。 古いパッケージ バージョンの関連性が低くなったら、手動で削除するか、アイテム保持ポリシーを使用して領域を解放し、コストを削減できます。

前提条件

製品 要件
Azure DevOps - Azure DevOps 組織
- Azure DevOps プロジェクト
- Azure Artifacts フィード
- アクセス許可:
    - アイテム保持ポリシーの設定、パッケージとフィードの削除、ごみ箱からのパッケージの復元を行うには、フィード所有者 である必要があります。
    - パッケージを一覧から削除する、非推奨にする、またはヤンクするには、フィード パブリッシャー (共同作成者) 以上である必要があります。

パッケージを削除する

Azure Artifacts では、パッケージは不変です。つまり、発行後にバージョン番号を再利用または変更することはできません。 パッケージをフィードに発行すると、そのバージョン番号は完全に予約されます。 パッケージを削除しても、そのバージョンはフィードの履歴に記録され、同じバージョン番号の新しいパッケージを発行することはできません。

フィードから NuGet パッケージを削除するには、2 つの方法があります: の「未掲載」と の「削除」です。 パッケージ バージョンの一覧を削除すると、Azure Artifacts フィードおよび NuGet.orgの検索結果から非表示になります。パッケージ バージョンを削除すると、ごみ箱に移動され、インストールできなくなります。

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. アーティファクトを選択し、次にドロップダウンメニューからフィードを選択します。

  3. 削除するパッケージを選択し、[リストから削除] を選択して、Azure Artifacts フィードおよび NuGet.orgの検索結果から非表示にするか、[削除] してごみ箱に移動します。

    Azure Artifacts で NuGet パッケージを削除または一覧表示解除する方法を示すスクリーンショット。

パッケージの一覧を削除する (CLI)

  1. Azure DevOps 組織にサインインし、プロジェクトに移動します。

  2. [Artifacts] を選択し、ドロップダウン メニューからフィードを選択します。

  3. を選択してフィード>NuGet.exeに接続し、その後、パッケージ ソース の URL を見つけてコピーします。 次の形式に従う必要があります: https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/FeedName/nuget/v3/index.json.

  4. 次のコマンドを実行して、パッケージの一覧を解除します。 ApiKey 引数は必須ですが、Azure Artifacts フィードに発行するときにプレースホルダーとして扱われるので、任意の文字列値を使用できます。

    nuget.exe delete <PACKAGE_NAME> <PACKAGE_VERSION> -Source <PACKAGE_SOURCE_URL> -ApiKey <ANY_STRING>
    

重要

Azure DevOps は、nuget.exe delete コマンドを一覧に含められていない操作として解釈します。 つまり、コマンドを実行してもパッケージは削除されず、代わりに Azure Artifacts フィードや NuGet.org の検索結果に表示されなくなります。フィードからパッケージを削除するには、REST API を使用するか、Web インターフェイスから手動で削除する必要があります。

パッケージを完全に削除する

ごみ箱内のパッケージは 30 日後に自動的に削除されますが、この期間中は引き続きストレージ使用量にカウントされます。 より早く削除するには、次の手順に従って、ごみ箱から手動で削除します。

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [Artifacts] を選択し、ドロップダウン メニューからフィードを選択します。

  3. 右上隅で [ごみ箱] を選択します。

  4. 削除したいパッケージを選択し、次に「完全に削除」を選択します。

    Azure Artifacts でパッケージを完全に削除する方法を示すスクリーンショット。

  5. [完全に削除] をもう一度選択して、決定を確定します。 パッケージは完全に削除されます。

    パッケージを完全に削除する前に確認メッセージを表示するスクリーンショット。

アイテム保持ポリシーを使用してパッケージを自動的に削除する

フィード内のパッケージ バージョンの数が増えると、ストレージの使用量が急速に増加する可能性があります。 アイテム保持ポリシーを設定して、古いパッケージ バージョンを自動的に削除し、領域を解放することができます。

パッケージを無期限に保持する必要がある場合は、ビューに昇格します。 ビュー内のパッケージはアイテム保持ポリシーから除外され、削除の対象になりません。 フィードの保持ポリシーを構成するには、次の手順に従います。

Azure Artifacts では、パッケージの降格はサポートされていません。 パッケージがビューに昇格されると、@localに戻すことはできません。

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. アーティファクトを選択し、次に右上隅の歯車アイコン を選んでフィードの設定にアクセスします。

  3. フィードの詳細を選択し、パッケージの保持 を有効にするチェック ボックスをオンにして、次の設定を構成します。

    • パッケージあたりのバージョンの最大数: 保持する各パッケージのバージョンの数。

    • 最近ダウンロードしたパッケージを保持する日数: パッケージは、ここで指定した日数だけダウンロードされていない場合にのみ削除されます。

  4. 作業が完了したら、[保存] を選びます。

    フィードのアイテム保持ポリシーを設定する方法を示すスクリーンショット。

アイテム保持ポリシーが有効である場合、以下の条件の両方が満たされる場合にのみパッケージ バージョンが削除されます。

  • 発行されたバージョンの合計数は、パッケージあたりの最大バージョン数 制限 に達します。
  • [最近ダウンロードされたパッケージの保持日数] で指定された期間内に、そのパッケージのバージョンがダウンロードされていない。

削除されたパッケージを復元する

削除されたパッケージは、ごみ箱に 30 日間残ります。 この期間が経過すると、それらは完全に削除されます。 ごみ箱からパッケージを復元するには、次の手順に従います。

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. の成果物を選択し、のごみ箱を選択してください。

  3. パッケージを選択してから、[復元] を選択します。

  4. [復元] をもう一度選択して、決定を確定します。

    削除されたパッケージを復元する方法を示すスクリーンショット。

Q&A

Q: DeprecateUnlistYank、およびパッケージ バージョン 削除 の違いは何ですか?

A: 非推奨 は npm パッケージに適用され、Yank は Cargo パッケージに適用されますが、リスト解除 は NuGet パッケージに適用されます。 パッケージ タイプ (npm、Maven、Python、Cargo、ユニバーサル パッケージ) のうち任意のものを Azure Artifacts フィードから削除できます。

  • の非推奨 (npm): パッケージのバージョンを非推奨にすると、パッケージのメタデータに警告メッセージが追加されます。 Azure Artifacts とほとんどの npm クライアントは、パッケージが表示またはインストールされるたびに、この警告メッセージを表示します。

  • の一覧を解除する (NuGet): パッケージ バージョンの一覧を解除すると、Azure Artifacts フィードや NuGet.org の検索結果に表示されなくなります。

  • Yank (Cargo): パッケージバージョンをヤンクすると、パッケージバージョンは廃止または非推奨としてマークされ、使用は推奨されませんが、パッケージは削除されません。

  • の削除: パッケージ バージョンを削除すると、そのバージョンがごみ箱に移動され、インストールできなくなります。 削除されたパッケージは、30 日以内にごみ箱から復元できます。 この期間が経過すると、完全に削除されます。

Q: すべてのパッケージ バージョンを削除するにはどうすればよいですか?

A: パッケージのすべてのバージョンを削除するには、フィードからパッケージを選択し、バージョンを選択し、バージョン の横にあるチェックボックス選択します。 これにより、フィード内のそのパッケージのすべてのバージョンが選択されます。 を選択し、を削除、そしてもう一度削除を選択して確定します。

フィードからすべてのバージョンを削除する方法を示すスクリーンショット。

Q: アイテム保持ポリシーを有効にすると、古いパッケージまたは既存のパッケージはどうなりますか?

A: 古いパッケージまたは既存のパッケージは論理的に削除され、ごみ箱に移動されます。 削除ジョブは 1 日に 1 回実行されますが、パッケージの流入により、ポリシーが初めて有効になってから最初の遅延が発生する可能性があります。

パッケージは、完全に削除されるまでの 30 日間、ごみ箱に残ります。 課金対象ストレージからパッケージを削除するには、30 日間の期間が終了する前に、Web UI または REST API を使用してパッケージを手動で削除します。

Q: アイテム保持ポリシーを有効にしない場合はどうすればよいですか?

A: Azure Artifacts アイテム保持ポリシーは、依存関係の管理とストレージ コスト管理の合理化に役立つよう設計されています。 アイテム保持ポリシーを有効にしない場合は、ストレージを手動で管理し、消費を監視し、必要に応じてパッケージを削除する必要があります。 Azure Artifacts には、組織ごとに 2 GiB の無料ストレージが用意されています。これにより、サービスがワークフローに適合するかどうかを評価できます。 ストレージの制限を超えると、課金を設定してストレージ制限を 増やしない限り、新しい成果物を発行することはできません。

Q: アーティファクトを削除した後に課金されるストレージの量が更新されるまでにどのくらいの時間がかかりますか?

A: 通常、ストレージ使用量は 24 時間以内に更新されます。 ただし、場合によっては、変更が反映されるまでに最大 48 時間かかる場合があります。 組織の課金ページでの成果物の使用状況は 1 日に 1 回更新されますが、[Artifact Storage] ページは頻繁に更新されるため、2 つの間に若干の不一致が生じる可能性があります。