CloudRun説明
概要
- フルマネージドサービスを簡単に使える
- Dockerfileさえあれば2コマンドくらいでサーバ建てられる
- GCSに保管され、コマンド1つでサーバ立ち上げ可能
- Knative(GKEみたいなやつのこと)だからサーバーのハード構成も、インフラ周り安心で、意識不要
感想
- 本当に簡単!プログラマがすぐサーバ建てたい時はやるべき
CloudRun気をつけること
必要な権限
リージョン
- 東京のみ(大阪はない)
- asia-northeast1
実装
構築
プロジェクトを作成
mkdir solt_lake
cd solt_lake
cd server
必要なファイル
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"]
なんとか
デプロイ
デプロイシェル
#!/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