将gcloud app部署到diff环境

时间:2018-02-22 17:37:24

标签: google-app-engine deployment gcloud create-react-app

我有一个应用程序,它使用以下命令部署由create-react-app生成的静态应用程序:

gcloud app deploy --project MY_PROJECT -v dev

之后,我的应用程序可在 myproject.appstop.com 上找到。

但我不知道如何使用每个环境的差异URL来部署此应用程序。喜欢:dev.myproject.appspot.com,stg.myproject.com等。

如果您知道或有其他想法如何解决此问题,请分享您的想法。

2 个答案:

答案 0 :(得分:2)

这取决于您对环境的理解。我肯定会建议你为不同的环境创建不同的项目(my-project-dev,my-project-staging,my-project-test,my-project-prod ......)

如果您只想为部署使用不同的URL,则可以使用-v(版本参数)。

再次部署后:

gcloud app deploy --project MY_PROJECT -v test

您可以通过以下方式访问这两个版本:

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

另外,请检查Dan's answer below,因为它包含非常相关的信息。

答案 1 :(得分:2)

要补充@ MarCialR的答案,您也可以使用SSL,但使用*-dot-*https://test-dot-myproject.appspot.com网址,请参阅Targeted routing

但就我个人而言,我不是基于版本的环境的忠实粉丝,它带来了麻烦,请参阅Continuous integration/deployment/delivery on Google App Engine, too risky?

我选择在应用级别实施环境 - 每个环境都是不同的应用,每个应用都有自己的网址。见Advantages of implementing CI/CD environments at GAE project/app level vs service/module level?

由于我使用的是通配符自定义域SSL证书,我只是将不同的应用程序(环境)映射到我的自定义域中的不同主机/子域 - 从而确保一切都按照预期在每个点上使用自定义域工作CI / CD管道,生产中没有惊喜。