【问题标题】:Deploy gcloud app to diff environments将 gcloud 应用程序部署到不同的环境
【发布时间】:2018-08-02 16:27:17
【问题描述】:

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

gcloud app deploy --project MY_PROJECT -v dev

之后,我的应用可以在 myproject.appstop.com 上使用。

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

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

【问题讨论】:

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


    【解决方案1】:

    这取决于你对环境的理解。我绝对会建议您为不同的环境创建不同的项目(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,因为它包含非常相关的信息。

    【讨论】:

    • 谢谢!请注意版本 URL 没有 SSL。
    【解决方案2】:

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

    但我个人不是很喜欢基于版本的环境,它会带来麻烦,请参阅Continuous integration/deployment/delivery on Google App Engine, too risky?

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-02
      • 2021-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-24
      • 2023-04-01
      • 1970-01-01
      相关资源
      最近更新 更多