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