SERVICEに好きな値を入れて使ってください。
RUNNINGな最新バージョンのいずれかのインスタンスにsshできます。
SERVICE=api-production && INSTANCE_ID=$(gcloud app instances list --service=$SERVICE --format="table(id)" --filter="VM_STATUS=RUNNING" --sort-by=VERSION | tail -n 1) && gcloud app instances enable-debug $INSTANCE_ID && gcloud app instances ssh $INSTANCE_ID --version=$(echo $INSTANCE_ID | sed -e 's/^[^0-9]*//g' -e 's/-.*//g') --service=$SERVICE
解説
以下のコマンドでインスタンスIDを取得します。
serviceでの絞り込み、formatでの出力形式指定、filter機能、sort-by機能を使っています。
gcloud app instances list --service=$SERVICE --format="table(id)" --filter="VM_STATUS=RUNNING" --sort-by=VERSION
以下のコマンドでインスタンスのデバッグ機能を有効にします。
デバッグ機能が有効でないとsshできないみたいです。
gcloud app instances enable-debug $INSTANCE_ID
以下のコマンドでインスタンスにsshします。
冗長ですが、versionとserviceを指定しないと、sshできませんでした。
gcloud app instances ssh $INSTANCE_ID --version=$(echo $INSTANCE_ID | sed -e 's/^[^0-9]*//g' -e 's/-.*//g') --service=$SERVICE