我使用 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
截至 2024 年 4 月,根据 Google 文档https://cloud.google.com/run/docs/managing/revisions
非服务修订不会消耗任何资源,也不会产生费用。
因此,实际上没有必要删除旧版本,因为它们不会产生任何成本