GithubHelp home page GithubHelp logo

cloudrun-gradual-rollouts-example's Introduction

Cloud Run gradual rollouts example

Setup:

gcloud components install beta -y
gcloud auth login
gcloud auth configure-docker
gcloud config set project [gcp-project-id]

Build image:

docker build -t rails-cloudrun-sandbox .

Run locally:

docker run --rm -it -p 3000:3000 -e PORT=3000 rails-cloudrun-sandbox

Push to GCR:

docker tag rails-cloudrun-sandbox gcr.io/[gcp-project-id]/rails-cloudrun-sandbox
docker push gcr.io/[gcp-project-id]/rails-cloudrun-sandbox

Deploy to Cloud Run(no traffic):

gcloud beta run deploy rails-cloudrun-sandbox \
    --platform managed \
    --image gcr.io/[gcp-project-id]/rails-cloudrun-sandbox \
    --allow-unauthenticated \
    --region asia-northeast2 \
    --no-traffic --tag "latest"

Get revision url:

set revision_url (gcloud beta run services describe rails-cloudrun-sandbox \
    --platform managed \
    --format json \
  | jq -r '.status.traffic[] | select(.tag == "latest").url')

Wait application ready:

while true
  set status_code (curl $revision_url -o /dev/null -w '%{http_code}' -s -m 10)

  if test "$status_code" = "200"
    break
  end
end

Switch traffic to latest:

gcloud beta run services update-traffic rails-cloudrun-sandbox \
    --platform managed \
    --to-latest

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.