如何指定根文件夹以使用Cloud SDK部署应用程序?

时间:2018-12-27 23:59:43

标签: google-cloud-platform google-cloud-sdk google-cloud-shell

我正在使用GCP中的“ Google App Engine”托管静态网站。我已经使用Visual Studio Code创建了网站文件(HTML,JS)和yaml。我将包含这些文件的文件夹存储在本地计算机中。

我下载了适用于Windows的Cloud SDK Shell。我登录到我的帐户,然后选择了项目。根据视频和教程,我需要使用“ gcloud app deploy”部署该应用。

但是我收到一条错误消息,要求部署该目录需要一个“ app.yaml”文件...

我正在尝试遵循本教程: https://cloud.google.com/appengine/docs/standard/python/getting-started/hosting-a-static-website#before_you_begin

我也在尝试按照此视频中包含的步骤进行操作: https://www.youtube.com/watch?v=mlcO7nfQzSg

如何指定我的“ app.yaml”文件所在的根文件夹?

提前谢谢!

我已经尝试了许多命令,但不幸的是,它们都没有起作用

2 个答案:

答案 0 :(得分:1)

gcloud app deploy将首先查看app.yaml的当前目录。通常,在部署之前,您将使用app.yaml和其他文件切换到目录

答案 1 :(得分:1)

gcloud app deploy在没有附加参数的情况下的特殊情况仅适用于单一服务应用程序,并且仅当命令在服务的app.yaml配置文件所在的目录中执行(并且具有确切的名称,不能使用其他名称。

在其他情况下,可以/必须指定可部署项目。来自gcloud app deploy

  

简介

gcloud app deploy [DEPLOYABLES …] [--bucket=BUCKET] [--image-url=IMAGE_URL] [--no-promote] [--no-stop-previous-version]
     

[-version = VERSION,-v VERSION] [GCLOUD_WIDE_FLAG…]

     

描述

     

此命令用于将代码和配置都部署到App   引擎服务器。作为输入,需要一个或多个DEPLOYABLES   应该上传。 DEPLOYABLE可以是服务的.yaml文件或   配置的.yaml文件(有关配置的更多信息   特定于您的App Engine环境的文件,请参阅   https://cloud.google.com/appengine/docs/standard/python/configuration-files   要么   https://cloud.google.com/appengine/docs/flexible/python/configuration-files)。   请注意,对于Java Standard应用,您必须将路径添加到   WEB-INF目录中的appengine-web.xml文件。 gcloud应用   deploy跳过.gcloudignore文件中指定的文件(有关更多信息,请参见gcloud topic gcloudignore)。

除了在app.yaml所在的目录中运行不带任何参数的命令外,还要将app.yaml(如果需要,请使用完整或相对路径)指定为可部署的:

gcloud app deploy path/to/your/app.yaml

恕我直言,这样做是一个好习惯-指定可部署的对象更可靠,并且是部署具有多种服务的应用程序或通过dispatch.yaml文件使用路由的唯一方法。