使用gcloud部署到自定义域

时间:2019-11-18 01:29:52

标签: google-app-engine google-cloud-platform

我有一个在自定义URL xxx.org中运行的Google App Engine应用程序。我只能使用图形化的GAE启动器来部署更新的版本,只需单击“部署”按钮即可。不过,我现在仍在尝试学习如何使用gcloud机制,因为Launcher在2020年7月30日之后将不再起作用。我对如何使用gcloud应用程序部署进行部署感到困惑

我已经根据网络上可用的文档和讨论中的提示尝试了很多事情,但是我所能获得的只是难以理解的错误消息。我猜我需要修改我的app.yaml文件。有人可以给我关于我需要做什么的非常明确的指示吗? (我应该说,我已经学会了如何使用gcloud命令而不是Launcher在本地运行,但是我无法部署。)

3 个答案:

答案 0 :(得分:1)

假定可以使用自定义域部署应用程序,则意味着映射已经完成,并且DNS记录已更新。不过,您可以在[这里]找到所有重要的文档。(https://cloud.google.com/appengine/docs/standard/python/mapping-custom-domains

使用gcloud命令映射自定义域的简单摘要将包括:

  1. 打开网站站长中心以验证您的域的所有权(请注意,对于App Engine,使用CNAME记录是首选选项,而不是使用TXT记录):

gcloud domains verify example.com

  1. 检查域是否通过以下方式验证:

gcloud domains list-user-verified

  1. 通过网站站长中心页面将所有权委派给您的应用所使用的相关用户或服务帐户。

  2. 创建映射:

gcloud app domain-mappings create '*.example.com'

  1. 将资源记录(A,AAAA,CNAME,TXT等)添加到您的域名注册商的DNS配置中。

在测试可以通过自定义域(在本示例中为www.example.com)使用应用程序之后,关于gcloud app deploy的使用就不需要做太多事情了。但是请注意,如果您使用通配符将子域与服务映射到任何级别,则需要使用dispatch.yaml文件。您需要使用gcloud app deploy dispatch.yaml命令进行部署。

答案 1 :(得分:0)

如果gcloud命令对您来说是新命令,也许您可​​以考虑在一个新的隔离项目中使用新的简单demo应用程序来跟踪在Google Cloud docs上发布的优秀教程之一。 ,只是为了验证您能够使用gcloud app deploy命令进行部署。

首先,我建议您检查gcloud sdk是否已正确安装和配置。为此,您可以按照以下步骤操作:

一个重要的步骤是gcloud init,它将初始化您的配置并设置默认项目以及您的凭据。 (身份验证)。

该过程之后,命令gcloud config list应该至少检索一些环境属性:

[core]
account = your@email
project = your-project-id

Your active configuration is: [your-project-id]

your-project-id是您在GCP中的项目的标识符。检查console.cloud.google.com以获得更多详细信息和符合人体工程学的UI视图。

这是基础。如果在此阶段效果不佳,则无需进一步。

自定义域

关于自定义域,没有与gcloud app deploy的实际链接。您只需要添加映射并更新DNS记录。但是似乎已经完成了,因为您的应用程序已经处于活动状态。 遵循此official procedure(使用gcloud命令)添加映射。

仔细检查Daniel的回答,详细说明您必须遵循的每个步骤。

答案 2 :(得分:0)

  1. 您无法部署到“特定”网址。您通过命令部署到特定项目

    gcloud app deploy {path to your app.yaml 文件} --project={PROJECT_NAME}

  2. 另外,您可以将“.appspot.com”地址映射到 App Engine 设置页面上的自定义域