Wie lösche ich alle Google Cloud Run-Container-Images außer der neuesten Revision?

Wie lösche ich alle Google Cloud Run-Container-Images außer der neuesten Revision?

Ich hoste meine Containeranwendung mit Google Cloud Run. Um Kosten zu sparen, möchte ich alle Revisionen des Docker-Image meiner Anwendung außer den aktiven löschen.

Ich verwende einen Job meiner GitLab-Pipeline, um die Anmeldeinformationen und Einstellungen mithilfe von Umgebungsvariablen zu verwalten.

Ich kann meine Revisionen wie folgt auflisten:

gcloud run revisions list --region="$GCP_REGION"

Antwort1

Die letzte Revision Ihrer Anwendung ist die einzige aktive. Diese Tatsache können wir ausnutzen, um alle anderen Revisionen zu löschen:

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

Quellen:

Antwort2

Die vorherige Antwort von Bengt ist perfekt, aber da ich dazu nichts sagen kann, möchte ich nur hinzufügen, dass Sie --region hinzufügen müssen. In meinem Fall ist dies der Befehl:

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

Antwort3

Stand April 2024, laut Google Docshttps://cloud.google.com/run/docs/managing/revisions

Nicht bereitgestellte Revisionen verbrauchen keine Ressourcen und werden nicht in Rechnung gestellt.

Es besteht also wirklich keine Notwendigkeit, alte Versionen zu löschen, da sie keine Kosten verursachen

verwandte Informationen