パッケージレジストリのストレージを削減する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
パッケージレジストリは、時間の経過とともにパッケージとそのアセットを蓄積します。定期的なクリーンアップを行わないと、:
- パッケージリストのフェッチに時間がかかり、CI/CDパイプラインのパフォーマンスに影響します。
- サーバーは、未使用または古いパッケージに対してより多くのストレージ容量を割り当てます。
- ユーザーは、多数の古いパッケージバージョンの間で関連するパッケージを見つけるのに苦労する可能性があります。
定期的なクリーンアップポリシーを実装して、パッケージレジストリの肥大化を軽減し、ストレージを解放する必要があります。
パッケージレジストリのストレージ使用量を確認する
ストレージの使用状況の内訳を確認するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 使用量クォータを選択します。
- 使用量クォータページで、パッケージの使用状況の内訳を確認します。
パッケージを削除する
パッケージレジストリにパッケージを公開した後、編集することはできません。代わりに、パッケージを削除して再公開する必要があります。
前提要件:
- メンテナーロール以上が必要です。
パッケージを削除するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- デプロイ > パッケージレジストリを選択します。
- パッケージレジストリページで、削除するパッケージを選択します。
- または、パッケージレジストリページで、縦方向の省略記号( )を選択し、パッケージの削除を選択します。
- 削除を選択します。
パッケージは完全に削除されます。
パッケージを削除するには、APIを使用することもできます。
リクエスト転送が有効になっているときにパッケージを削除すると、依存関係の混乱リスクが発生する可能性があります。
パッケージアセットの削除
ストレージを削減するには、パッケージに関連付けられたアセットを削除します。
前提要件:
- デベロッパーロール以上が必要です。
パッケージアセットを削除するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- デプロイ > パッケージレジストリを選択します。
- パッケージレジストリページで、詳細を表示するパッケージを選択します。
- アセットテーブルで、削除するアセットの名前を見つけます。
- 縦方向の省略記号( )を選択し、アセットを削除を選択します。
パッケージアセットは完全に削除されます。
パッケージを削除するには、APIを使用することもできます。
クリーンアップポリシー
パッケージレジストリに同じ名前とバージョンのパッケージをアップロードすると、より多くのアセットがパッケージに追加されます。
ストレージ容量を節約するには、最新のアセットのみを保持する必要があります。クリーンアップポリシーを使用して、プロジェクト内のパッケージアセットを自動的に削除するルールを定義します。これにより、手動で削除する必要がなくなります。
クリーンアップポリシーを有効にする
前提要件:
- メンテナーロール以上が必要です。
デフォルトでは、パッケージのクリーンアップポリシーは無効になっています。有効にするには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > パッケージとレジストリを選択します。
- パッケージレジストリを展開します。
- パッケージアセットで使用されたストレージを管理アセットで使用されたストレージの管理]で、ルールを適切に設定します。
利用可能なルール
Number of duplicated assets to keep: パッケージ形式によっては、同じアセットの複数のコピーがサポートされる場合があります。保持する重複アセットの数に制限を設定できます。制限に達すると、最も古いアセットが自動的に削除されます。Mavenスナップショットによって生成されるものなど、一意のファイル名は重複アセットとしてカウントされません。Number of duplicated assets to keepは12時間ごとに実行されます。
リソースを節約するためにクリーンアップ制限を設定する
バックグラウンドプロセスは、パッケージのクリーンアップポリシーを実行します。このプロセスは、完了までに長い時間がかかる場合があり、実行中にサーバーリソースを消費します。
次の設定を使用して、クリーンアップワーカーの数を制限します:
package_registry_cleanup_policies_worker_capacity: 同時に実行されるクリーンアップワーカーの最大数。この数は、0以上である必要があります。小さい数から始めて、バックグラウンドワーカーが使用するリソースをモニタリングした後で増やすことをおすすめします。すべてのワーカーを削除してクリーンアップポリシーを実行しないようにするには、この設定を0に設定します。デフォルト値は2です。