Gcloud部署未部署文件夹

时间:2020-01-09 20:07:38

标签: google-app-engine gcloud

我正在维修系统。 使用了旧的App Engine工具进行部署,但是现在已经过时了,我需要使用gcloud命令行。

但是,gcloud忽略了一个系统文件夹并部署了所有其他文件夹。

这必须发生的一个重要原因是因为他们基于node_modules开发了该系统,并且在上载之前没有构建代码。简而言之,我需要node_modules文件夹才能执行代码。

我已经禁用了.gcloudignore,但是没有任何更改。

源文件夹结构:

enter image description here

App Engine中的文件夹结构:

enter image description here

我在我的gcloud部署上运行了--verbosity = info代码,看来他们忽略了它:

enter image description here

我的app.yaml:

runtime: python27
api_version: 1
threadsafe: true

libraries:
- name: jinja2
  version: 2.6
- name: lxml
  version: 2.3
- name: pycrypto
  version: 2.6

handlers:
- url: /static
  static_dir: app/static
  secure: always

- url: /.*
  script: manage.app
  secure: always

builtins:
- remote_api: on

1 个答案:

答案 0 :(得分:0)

默认情况下,flask使用“模板”文件夹包含所有模板文件(任何纯文本文件,但通常是.html或某种模板语言,例如jinja2),并使用“静态”文件夹包含所有模板文件静态文件(即.js .css和您的图片)。

因此,理想情况下,您不应使用/ static folder

您将需要更新app.yaml以包含处理程序static_dir:静态

runtime: python27
api_version: 1
threadsafe: true

libraries:
- name: ssl
  version: latest

# [START handlers]
handlers:
- url: /static
  static_dir: static
- url: /.*
  script: main.app
# [END handlers]

最好的使用方法是

from flask import Flask

app = Flask(__name__, static_folder='static', static_url_path='')