Google Cloud Run を使用してコンテナ化されたアプリケーションをホストしています。コストを節約するために、アプリケーションの Docker イメージのアクティブなリビジョン以外をすべて削除したいと考えています。
GitLab パイプラインのジョブを使用して、環境変数を使用して資格情報と設定を処理します。
次のようにしてリビジョンをリストできます。
gcloud run revisions list --region="$GCP_REGION"
答え1
アプリケーションの最新のリビジョンのみがアクティブです。この事実を利用して、他のすべてのリビジョンを削除することができます。
gcloud run revisions list --filter="status.conditions.type:Active AND status.conditions.status:'False'" --format='value(metadata.name)' | xargs -r -L1 gcloud run revisions delete --quiet
出典:
答え2
Bengt による以前の回答は完璧ですが、コメントできないので、--region を追加する必要があることを付け加えておきます。私のケースでは、コマンドは次のとおりです。
gcloud run revisions list --region=europe-west1 --filter="status.conditions.type:Active AND status.conditions.status:'False'" --format='value(metadata.name)' | xargs -r -L1 gcloud run revisions delete --region=europe-west1 --quiet
答え3
Googleドキュメントによると、2024年4月現在https://cloud.google.com/run/docs/managing/revisions
非配信リビジョンはリソースを消費せず、課金もされません。
したがって、古いバージョンを削除する必要はまったくありません。コストは発生しません。