Я размещаю свое контейнерное приложение с помощью 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
Предыдущий ответ Бенгта идеален, но поскольку я не могу комментировать, хочу лишь добавить, что вам нужно добавить --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
По состоянию на апрель 2024 г., согласно документам Googlehttps://cloud.google.com/run/docs/managing/revisions
Необслуживаемые версии не потребляют никаких ресурсов и не оплачиваются.
Поэтому на самом деле нет необходимости удалять старые версии, поскольку они не требуют никаких затрат.