(備忘メモ)
https://cloud.google.com/appengine/docs/standard/go/an-overview-of-app-engine#limits
1アプリケーション辺りバージョン数が非課金で15、課金ありで210を超えるとデプロイが失敗する為、CI(GitHub Actions)でデプロイ前に古いバージョンを削除する。
デプロイ前に件数が30件超えていたら直近デプロイ20件を残して削除する(Traficが割り当てられるものは除く)。
↓抜粋 (※gcloudのインストールや認証は割愛)
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
(中略)
- name: GAE delete old versions
run: |
ALL_NOTRAFIC_VERSIONS=$(gcloud app versions list --format="value(id)" --service=your_service --filter="traffic_split=0" --sort-by="~lastDeployedTime" --project=your_project)
if test "$(echo "$ALL_NOTRAFIC_VERSIONS" | wc -l)" -gt 30; then
DELETING_VERSIONS=$(echo "$ALL_NOTRAFIC_VERSIONS" |tail -n +21)
gcloud app versions delete --quiet --project=your_project --service=your_service $(echo "$DELETING_VERSIONS")
fi