※ 商品リンクから購入されると少額の報酬が発生することがあります。
絶対に忘れるのでメモしておく。
ほんとにただの自分用メモ
gcloudコマンドを使える状態にしておく必要がある
macならbrew(cask)でインストールして、インストール直後に表示される指示に従って環境変数を.zshrcなんかに設定するだけ。
$ brew install --cask google-cloud-sdkあとは gcloud auth login する。ブラウザが開いてアカウントを選択して権限許可したらオッケー
$ gcloud auth loginサービスを有効にする
Container RegistryとCloud RunとCloud Buildを有効にする。
今後はArtifact Registryを使うべきなのかもしれないけれど。
$ gcloud services enable containerregistry.googleapis.com
$ gcloud services enable run.googleapis.com
$ gcloud services enable cloudbuild.googleapis.comDockerをビルド&pushする
イメージをアジアに置く場合には asia.gcr.io 、USの場合は gcr.io
$GCP_PROJECT_ID はgcpのプロジェクトID
$REPOSITORY_NAMEはリポジトリ名
適当にイメージを表す名前をつける。当然だけれど、プロジェクト内でユニーク
$ gcloud builds submit --tag asia.gcr.io/$GCP_PROJECT_ID/$REPOSITORY_NAMECloud Runにイメージをデプロイする
$SERVICE_NAME に最初にデプロイするときには、未認証で参照できるように起動して良いか聞かれる。
$SERVICE_NAME は Cloud Run のサービス名(適当につける)
$ gcloud run deploy $SERVICE_NAME --region asia-northeast1 --image asia.gcr.io/$GCP_PROJECT_ID/$REPOSITORY_NAME:latest
Allow unauthenticated invocations to [$SERVICE_NAME] (y/N)? yDockerイメージを更新して、Cloud Run の参照イメージを最新版にする
ビルド&プッシュして、最新版をデプロイするだけ(リクエストを最新に100%振り分ける)
$ gcloud builds submit --tag asia.gcr.io/$GCP_PROJECT_ID/$REPOSITORY_NAME
$ gcloud run deploy $SERVICE_NAME --region asia-northeast1 --image asia.gcr.io/$GCP_PROJECT_ID/$REPOSITORY_NAME:latestCloud Runの非アクティブなリビジョンを削除する
1000リビジョン以上は古いものから削除されるらしいので、特段消す必要もないのだけれど
$ gcloud run revisions list --region asia-northeast1 | grep -v ' yes ' | awk 'NR>1{print $2}' | xargs -I ARG gcloud run revisions delete ARG --region asia-northeast1 -qおまけ
Imageのリストを表示する
$ gcloud container images list-tags asia.gcr.io/$GCP_PROJECT_ID/$REPOSITORY_NAMECloud Runのリビジョンリストを表示する
$ gcloud run revisions list --region asia-northeast1