パッケージの削除と回復
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Artifacts では、直接発行した場合でも、アップストリーム ソースから保存した場合でも、さまざまなパッケージの種類がフィード内に安全に格納されます。 古いパッケージ バージョンの関連性が低くなるにつれて、手動削除またはアイテム保持ポリシーを使用して削除することを検討できます。 この記事では、次の方法について学習します。
- フィードからパッケージを削除します。
- アイテム保持ポリシーを設定します。
- パッケージを手動で完全に削除します。
- 最近削除されたパッケージを回復します。
Note
パッケージを削除/回復したり、アイテム保持ポリシーを設定したりするには、フィード所有者である必要があります。
パッケージを削除する
Azure Artifacts では、パッケージは不変です。 フィードにパッケージを発行すると、そのバージョン番号は永続的に予約されます。 フィードから削除した場合でも、同じバージョン番号の新しいパッケージを発行することはできません。
Note
パッケージのリストを 解除するにはフィードパブリッシャー(共同作成者) 、 削除するにはフィード所有者 である必要があります。
フィードから NuGet パッケージを削除するには、[ リスト の削除] と [削除] の 2 つの選択肢があります。 パッケージ バージョンを一覧から削除すると、Azure Artifacts フィードや NuGet.org の検索結果に表示されなくなりますが、パッケージ バージョンを削除すると、パッケージ バージョンがごみ箱に送信され、インストールできなくなります。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。
削除するパッケージを選択し、[リストから削除] または [削除] を選択します。
NuGet.exeを使用してパッケージのリストを解除する
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。
[接続] を選択してNuGet.exeフィード>し、パッケージ ソース URL を見つけてコピーします。 形式は "https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/FeedName/nuget/v3/index.json"" のようになります。
次のコマンドを実行して、NuGet パッケージの一覧を解除します。
nuget.exe delete <PACKAGE_NAME> <PACKAGE_VERSION> -Source <PACKAGE_SOURCE_URL> -ApiKey <KEY>
Note
Azure DevOps と Visual Studio Team Foundation Server は、このコマンドを nuget.exe delete
一覧に含められていない操作として解釈します。 パッケージを削除するには、REST API を使用するか、Web インターフェイスから手動で削除する必要があります。
パッケージを完全に削除する
ごみ箱に配置されたパッケージは 30 日後に完全に削除されますが、その間も引き続きストレージ コストに影響します。 この期間より前に削除する場合は、次の手順に従って、ごみ箱から手動で削除できます。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。
右上隅にある [ごみ箱] を選択します。
完全に削除するパッケージを選択し、[完全に削除] を選択 します。
[完全に削除] をもう一度選択して、決定を確定します。 パッケージは完全に削除されます。
アイテム保持ポリシーを使用してパッケージを自動的に削除する
フィードでホストされている各パッケージのバージョン数は、急速に増加する可能性があります。 ストレージ領域を解放するために、古いパッケージを自動的に削除するようにアイテム保持ポリシーを設定できます。
パッケージを無期限に保持する場合は、ビューに昇格させることができます。 ビューに昇格されたパッケージはアイテム保持ポリシーから除外され、削除の対象になりません。 フィードのアイテム保持ポリシーを構成するには、次の手順に従ってください。
Note
Azure Artifacts では、パッケージの降格はサポートされていません。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ アーティファクト] を選択し、右上隅にある歯車アイコン を選択してフィードの設定にアクセスします。
[フィードの詳細] を選択し、[パッケージの保持を有効にする] チェック ボックスをチェックします。 [パッケージあたりの最大バージョン数] と [最近ダウンロードしたパッケージを保持する日数] の両方の値を指定します。
パッケージあたりの最大バージョン数: 保持する各パッケージのバージョンの数。
最近ダウンロードしたパッケージを保持する日数: パッケージは、ここで指定した日数だけダウンロードされていない場合にのみ削除されます。
完了したら、 [保存] を選択します。
Note
アイテム保持ポリシーを有効にすると、次の両方の条件が満たされると、パッケージのバージョンが削除されます。
- 発行されたバージョンの数が、パッケージあたりの最大バージョン数の上限に達しました。
- そのパッケージのバージョンは、最近ダウンロードしたパッケージを保持するために日数で 指定された期間ダウンロードされていません。
削除されたパッケージを復元する
削除されたパッケージは、ごみ箱に 30 日間再メイン。 この期間が経過すると、それらは完全に削除されます。 削除されたパッケージを復元するには、フィード 所有者 である必要があります。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[成果物] を選択し、[ごみ箱] を選択します。
パッケージを選択し、[復元] を選択 します。
[復元] をもう一度選択して、決定を確定します。
Q & A
Q: パッケージバージョンの非推奨、リスト解除、ヤンク、削除の違いは何ですか?
A: 非推奨は npm パッケージに適用され、Yank は Cargo パッケージに適用され、Unlist は NuGet パッケージに適用されます。 パッケージの種類 (npm、Maven、Python、Cargo、Universal Packages) を削除することもできます。
非推奨 (npm): パッケージのバージョンを非推奨にすると、パッケージのメタデータに警告メッセージが追加されます。 Azure Artifacts とほとんどの npm クライアントは、パッケージが表示またはインストールされるたびに、この警告メッセージを表示します。
Unlist (NuGet): パッケージ バージョンの一覧を解除すると、Azure Artifacts フィードおよび NuGet.org の検索結果に表示されなくなります。
Yank (Cargo): パッケージ バージョンをヤンクすると、古いバージョンまたは非推奨としてマークされ、使用は推奨されませんが、パッケージは削除されません。
削除: パッケージ バージョンを削除すると、インストールできなくなります。 削除されたパッケージは、削除から 30 日以内にごみ箱から復元できます。 この期間が経過すると、パッケージは完全に削除されます。
Q: アイテム保持ポリシーを有効にすると、古いパッケージまたは既存のパッケージはどうなりますか?
A: 古いパッケージまたは既存のパッケージは論理的に削除され、ごみ箱に移動されます。 削除ジョブは 1 日に 1 回実行されますが、ポリシーを初めてオンにした後はパッケージの流入があるため、最初は遅延が発生する可能性があります。
パッケージは、完全に削除されるまでごみ箱に 30 日間残ります。 課金対象のストレージからパッケージを削除するために、30 日が経過する前に、UI または REST API を使ってパッケージを手動で削除することもできます。
Q: アーティファクトを削除した後に課金されるストレージの量が更新されるまでにどのくらいの時間がかかりますか?
A: 通常、ストレージの使用量は 24 時間以内に更新する必要がありますが、場合によっては、変更が反映されるまでに最大 48 時間かかる場合があります。 組織の課金ページの成果物の使用状況は、1 日に 1 回更新されます。 ただし、[Artifact Storage] ページは頻繁に更新されるため、2 つのページに表示される情報の間に小さな不一致が生じる可能性があります。