Развертывание приложения Appengine не загружает некоторые папки - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть приложение, развернутое в AppEngine.Когда я тестирую приложение локально, все работает нормально.Я выполнил установку композитора, и папка "vendor" существует.

При просмотре исходного кода я вижу, что некоторые папки не загружаются.Это структура моей папки на локальном диске:

local folder structure

Я развертываю, используя этот код:

gcloud app deploy --promote --stop-previous-version app.yaml

Развернутая структура выглядитэто:

Deployed app

Как видите, загружена только папка dialpad_research.Мой файл app.yaml выглядит следующим образом:

runtime: php55
api_version: 1
threadsafe: true

env_variables:

handlers:
- url: /(.*\.(appcache|manifest))
  mime_type: text/cache-manifest
  static_files: static/\1
  upload: static/(.*\.(appcache|manifest))

- url: /dialpad_research/(.*\.(appcache|manifest))
  mime_type: text/cache-manifest
  static_files: dialpad_research/static/\1
  upload: dialpad_research/static/(.*\.(appcache|manifest))

- url: /(.*\.atom)
  mime_type: application/atom+xml
  static_files: static/\1
  upload: static/(.*\.atom)

- url: /(.*\.crx)
  mime_type: application/x-chrome-extension
  static_files: static/\1
  upload: static/(.*\.crx)

- url: /(.*\.css)
  mime_type: text/css
  static_files: static/\1
  upload: static/(.*\.css)

- url: /(.*\.eot)
  mime_type: application/vnd.ms-fontobject
  static_files: static/\1
  upload: static/(.*\.eot)

- url: /(.*\.htc)
  mime_type: text/x-component
  static_files: static/\1
  upload: static/(.*\.htc)

- url: /(.*\.html)
  mime_type: text/html
  static_files: static/\1
  upload: static/(.*\.html)

- url: /(.*\.ico)
  mime_type: image/x-icon
  static_files: static/\1
  upload: static/(.*\.ico)

- url: /(.*\.js)
  mime_type: text/javascript
  static_files: static/\1
  upload: static/(.*\.js)

- url: /(.*\.json)
  mime_type: application/json
  static_files: static/\1
  upload: static/(.*\.json)

- url: /(.*\.otf)
  mime_type: font/opentype
  static_files: static/\1
  upload: static/(.*\.otf)

- url: /(.*\.rss)
  mime_type: application/rss+xml
  static_files: static/\1
  upload: static/(.*\.rss)

- url: /(.*\.safariextz)
  mime_type: application/octet-stream
  static_files: static/\1
  upload: static/(.*\.safariextz)

- url: /(.*\.(svg|svgz))
  mime_type: images/svg+xml
  static_files: static/\1
  upload: static/(.*\.(svg|svgz))

- url: /(.*\.swf)
  mime_type: application/x-shockwave-flash
  static_files: static/\1
  upload: static/(.*\.swf)

- url: /(.*\.ttf)
  mime_type: font/truetype
  static_files: static/\1
  upload: static/(.*\.ttf)

- url: /(.*\.txt)
  mime_type: text/plain
  static_files: static/\1
  upload: static/(.*\.txt)

- url: /(.*\.unity3d)
  mime_type: application/vnd.unity
  static_files: static/\1
  upload: static/(.*\.unity3d)

- url: /(.*\.webm)
  mime_type: video/webm
  static_files: static/\1
  upload: static/(.*\.webm)

- url: /(.*\.webp)
  mime_type: image/webp
  static_files: static/\1
  upload: static/(.*\.webp)

- url: /(.*\.woff)
  mime_type: application/x-font-woff
  static_files: static/\1
  upload: static/(.*\.woff)

- url: /(.*\.xml)
  mime_type: application/xml
  static_files: static/\1
  upload: static/(.*\.xml)

- url: /(.*\.xpi)
  mime_type: application/x-xpinstall
  static_files: static/\1
  upload: static/(.*\.xpi)

# audio files
- url: /(.*\.(mid|midi|mp3|wav))
  static_files: static/\1
  upload: static/(.*\.(mid|midi|mp3|wav))

# windows files
- url: /(.*\.(doc|exe|ppt|rtf|xls))
  static_files: static/\1
  upload: static/(.*\.(doc|exe|ppt|rtf|xls))

# compressed files
- url: /(.*\.(bz2|gz|rar|tar|tgz|zip))
  static_files: static/\1
  upload: static/(.*\.(bz2|gz|rar|tar|tgz|zip))

# index files
- url: /(.*)/
  static_files: static/\1/index.html
  upload: static/(.*)/index.html

- url: /dialpad_research/api/(.+\.php)$
  script: dialpad_research/api/\1

- url: /vendor/(.+\.php)$
  script: vendor/\1

# site root
- url: /
  static_files: static/index.html
  upload: static/index.html


- url: /static
  static_dir: static


- url: /dialpad_research/static
  static_dir: dialpad_research/static

# dialpad root
- url: /dialpad_research.*
  static_files: dialpad_research/static/index.html
  upload: dialpad_research/static/index.html

# portfolio redirect
- url: /portfolio/.*
  static_files: static/red.html
  upload: static/red.html

# G2 redirect
- url: /g2.*
  static_files: static/red.html
  upload: static/red.html

# Blog redirect
- url: /blog.*
  static_files: static/red.html
  upload: static/red.html

# SSDESIGN redirect
- url: /ssdesign.*
  static_files: static/red.html
  upload: static/red.html

# Colours redirect
- url: /colours.*
  static_files: static/red.html
  upload: static/red.html

Есть идеи, что я тут не так делаю?

Спасибо

1 Ответ

0 голосов
/ 24 ноября 2018

Ожидается, что каталог static отсутствует в GAE, поскольку он обрабатывается с помощью обработчика static_dir, поэтому по умолчанию он не загружается вместе с кодом приложения.Если вы хотите, чтобы он был загружен вместе с кодом приложения, вам нужно установить для него application_readable.От Элемент обработчиков :

application_readable

Необязательно.Boolean.По умолчанию файлы, объявленные в статических обработчиках файлов, загружаются как статические данные и предоставляются только конечным пользователям.Они не могут быть прочитаны приложением.Если для этого поля установлено значение true, файлы также загружаются в виде данных кода, чтобы приложение могло их прочитать.Обе загрузки оплачиваются по вашему коду и статическому хранилищу данных квоты ресурсов .

То же самое относится ко всем отдельным файлам, обслуживаемым через обработчики static_file.

Thingsразличаются для каталога vendor - никакой статический файл / каталог не ссылается на него.

Я пока не вижу причины, по которой vendor не загружается из информации из вашего сообщения.Вот что вы можете попробовать:

  • увеличить многословность команды развертывания, используя --verbosity глобальную опцию , в должно указываться, какие файлы / каталоги используютсяпропустил и почему.
  • если у вас есть .gcloudignore файл в вашей службе, проверьте его содержимое
  • используйте имя каталога, отличное от vendor - только в случае, если это конкретное имя обрабатываетсяиначе по какой-то причине - просто дикая догадка, если причина пропуска каталога не обнаружена из-за повышенной детализации
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...