CloudRunデプロイためした

CloudRun説明

概要

  • フルマネージドサービスを簡単に使える
  • Dockerfileさえあれば2コマンドくらいでサーバ建てられる
  • GCSに保管され、コマンド1つでサーバ立ち上げ可能
  • Knative(GKEみたいなやつのこと)だからサーバーのハード構成も、インフラ周り安心で、意識不要

感想

  • 本当に簡単!プログラマがすぐサーバ建てたい時はやるべき

CloudRun気をつけること

必要な権限

  • Project Viewがあること

リージョン

  • 東京のみ(大阪はない) - asia-northeast1  

    実装

構築

プロジェクトを作成

  • PJはsolt_lakeとする
mkdir solt_lake
cd solt_lake
cd server

必要なファイル

  • Dockerfile
FROM golang:1.12 as builder

RUN go get net/http/httputil
RUN go get time
RUN go get github.com/labstack/echo
WORKDIR /go/src/github.com/knative/docs/helloworld

COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -v -o main

FROM alpine

COPY --from=builder /go/src/github.com/knative/docs/helloworld/main /main
# Run the web service on container startup.
CMD ["/main"]
  • goのプログラム
なんとか

デプロイ

デプロイシェル

  • 以下のようになる
#!/bin/bash
read -p "start deploy ok? (y/N): " yn
case "$yn" in [yY]*) ;; *) echo "abort." ; exit ;; esac

v=`date +%Y%m%d_%H-%M-%S`
cd server
gcloud config set run/region asia-northeast1
gcloud builds submit --project hoge-stg --tag gcr.io/hoge-stg/solt_lake:$v
gcloud beta run deploy --project hoge-stg --image gcr.io/hoge-stg/orca_api:$v

テスト

#!/bin/bash
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" https://solt_lake-vdcsuxnqpa-an.a.run.app