Bruno Quaresma
Bruno Quaresma

Reputation: 10737

Deploy gcloud app to diff environments

I have an app that uses the following command to deploy a static app generated by create-react-app:

gcloud app deploy --project MY_PROJECT -v dev

After that, my app is available on myproject.appstop.com.

But I don't figure out how to deploy this app using a diff URL for each environment. Like.: dev.myproject.appspot.com, stg.myproject.com and so on.

If you know or have other ideas about how to solve this please share your thoughts.

Upvotes: 1

Views: 210

Answers (2)

Mar Cial R
Mar Cial R

Reputation: 946

It depends on what you understand by environment. I would definitely recommend you to create different projects for the different environments (my-project-dev, my-project-staging, my-project-test, my-project-prod...)

If you just want to have a different url for your deployment, you are doing ok by using the -v (version parameter).

Once you've deployed again:

gcloud app deploy --project MY_PROJECT -v test

you'll have both versions accessible at:

  • dev.myproject.appspot.com
  • test.myproject.appspot.com

Also, check Dan's answer below as it contains very relevant info.

Upvotes: 2

Dan Cornilescu
Dan Cornilescu

Reputation: 39834

To complement @MarCialR's answer, you can use SSL as well, but with *-dot-* URLs like https://test-dot-myproject.appspot.com, see Targeted routing.

But personally I'm not a big fan of a version-based environment, it brings trouble, see Continuous integration/deployment/delivery on Google App Engine, too risky?

I chose to implement environments at app level - each environment as a different app, each with its own URL. See Advantages of implementing CI/CD environments at GAE project/app level vs service/module level?

Since I'm using a wildcard custom-domain SSL certificate I'm simply mapping the different apps (environments) to different hosts/subdomains in my custom domain - thus ensuring everything works as expected with a custom domain at every point in the CI/CD pipeline, no surprises in production.

Upvotes: 2

Related Questions