はじめに
コマンドでGoogle App Engineを停止する。
前提条件としてgcloudコマンドがインストールされてあること。
script
#!/bin/bash set -eu env=$1 method=$2 # allocations ID取得 ID=$(gcloud app services describe $1 | tail -n1 | awk '{print $1}' | sed "s/://g") echo $ID if [ $method == 'stop' ]; then gcloud app versions stop $ID -q elif [ $method == 'start' ]; then gcloud app versions start $ID -q else echo ‘check your parameter’ fi gcloud app versions list
引数にサービス名を加えて実行する “` ./script.sh tsukada-test stop “` “` ./script.sh tsukada-test start “` 本来ならCloudFunctionで実装したかったが、大いにはまってしまったので、急遽この方法で対応した。
注意事項
コマンドを見てもらえばわかる通り、versionの指定はあっても、serviceの指定がない。
そのため、万が一 service は違うけど、動いているversionが同じ。と言う場合、意図しない方も影響を受けてしまう。
実はオプションで “` –service “` が用意されている。
https://cloud.google.com/sdk/gcloud/reference/app/versions/stop?hl=ja
必要な場合はこのオプションを活用すればよい。