Skip to content

Instantly share code, notes, and snippets.

@lasersox
Created January 23, 2020 16:07
Show Gist options
  • Save lasersox/790de6da126c11527b33241843e2168e to your computer and use it in GitHub Desktop.
Save lasersox/790de6da126c11527b33241843e2168e to your computer and use it in GitHub Desktop.
Example for cleaning up stale versions of an AppEngine project.
cleanup-stale-versions:
docker:
- image: google/cloud-sdk
working_directory: ~/repo/app
steps:
- run:
command: |
set +e
echo $GCLOUD_SERVICE_KEY | base64 -d > ${HOME}/gcloud-service-key.json
gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
gcloud config set project my-project
echo 'Delete unused versions (those without traffic)...'
deleteVersions=$(gcloud app versions list --project my-project --service default --format='csv[no-heading](id)' --filter='traffic_split:0' || true | tr '\n' ' ')
[ -n "$deleteVersions" ] && gcloud app versions delete --project my-project --service default --quiet ${deleteVersions} || true
scheduled-cleanup-of-stale-versions:
triggers:
- schedule:
cron: "0 0 * * *"
filters:
branches:
only:
- master
jobs:
- cleanup-stale-versions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment