我有一个应用程序,它使用以下命令部署由create-react-app生成的静态应用程序:
gcloud app deploy --project MY_PROJECT -v dev
之后,我的应用程序可在 myproject.appstop.com 上找到。
但我不知道如何使用每个环境的差异URL来部署此应用程序。喜欢:dev.myproject.appspot.com,stg.myproject.com等。
如果您知道或有其他想法如何解决此问题,请分享您的想法。
答案 0 :(得分:2)
这取决于您对环境的理解。我肯定会建议你为不同的环境创建不同的项目(my-project-dev,my-project-staging,my-project-test,my-project-prod ......)
如果您只想为部署使用不同的URL,则可以使用-v(版本参数)。
再次部署后:
gcloud app deploy --project MY_PROJECT -v test
您可以通过以下方式访问这两个版本:
另外,请检查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管道,生产中没有惊喜。