パッケージのレジストリ保存の削減
クリーンアップしないと、パッケージレジストリは時間とともに大きくなります。大量のパッケージとそのアセットが追加された場合:
- パッケージ一覧の取得が遅くなります。
- サーバ上の大量のストレージを占有し、ストレージ使用量に影響を与えます。
不要なパッケージやアセットを削除することをお勧めします。このページではその方法を紹介します。
パッケージレジストリストレージの使用状況の確認
使用量割り当て]ページ([設定]>[使用量割り当て]>[ストレージ])には、Pagesのストレージ使用量が表示されます。
パッケージの削除
パッケージレジストリでパッケージを公開した後、そのパッケージを編集することはできません。代わりに、削除して再作成する必要があります。
パッケージを削除するには、適切な権限が必要です。
APIまたは UI を使ってパッケージを削除できます。
UIでパッケージを削除するには、グループまたはプロジェクトから削除します:
- デプロイ > パッケージレジストリに移動します。
- 削除したいパッケージ名を探します。
- 削除]を選択します。
パッケージが完全に削除されます。
リクエスト転送(forward)が有効になっている場合、パッケージを削除すると依存関係の混乱の危険があります。
パッケージに関連付けられたアセットの削除
パッケージアセットを削除するには、適切な権限が必要です。
APIまたは UI を使ってパッケージを削除できます。
UI でパッケージアセットを削除するには、グループまたはプロジェクトから削除します:
- デプロイ > パッケージレジストリに移動します。
- 削除したいパッケージ名を探します。
- パッケージを選択して詳細を表示します。
- 削除したいアセット名を探します。
- 省略記号を展開し、Delete asset を選択します。
パッケージアセットが完全に削除されます。
クリーンアップポリシー
GitLab 15.2 で導入されました。
削除するパッケージの数によっては、手動でパッケージを削除するプロセスが終了するまでに長い時間がかかることがあります。クリーンアップポリシーは、プロジェクトに適用され、自動的に削除できるパッケージ資産を定義するルールのセットを定義します。
クリーンアップポリシーを有効にします
デフォルトでは、パッケージのクリーンアップポリシーは無効になっています。有効にするには
- プロジェクトの設定 > パッケージとレジストリに移動します。
- パッケージ・アセットが使用するストレージを管理]を展開します。
- ルールを適切に設定します。
利用可能なルール
-
Number of duplicated assets to keep
:保持する重複アセットの数。パッケージ形式によっては、アセットを複数アップロードできます。保持する重複アセット数を制限し、制限に達すると最も古いアセットを自動的に削除することができます。Maven スナップショットによって生成されるような一意のファイル名は、保持する重複アセット数を評価する際には考慮されません。Number of duplicated assets to keep
は12 時間の固定周期です。
リソースを節約するためのクリーンアップ制限の設定
バックグラウンドプロセスがパッケージクリーンアップポリシーを実行します。このプロセスが終了するまでに長い時間がかかることがあり、実行中にサーバリソースを消費します。
次の設定を使用して、クリーンアップワーカーの数を制限できます:
-
package_registry_cleanup_policies_worker_capacity
同時に実行するクリーンアップワーカーの最大数。この数値は0
.0
NET 以上である必要があります。0
低い数値から開始し、バックグラウンド ワーカーが使用するリソースを監視した後に数値を増やすことをお勧め0
します。0
すべてのワーカーを削除してクリーンアップ ポリシーを実行しないようにするには、この値を .0
デフォルト値は2
です。