Что может быть причиной этой загадочной ошибки GCloud App Deploy?(NodeJS, AppEngine. Стандартная среда) - PullRequest
0 голосов
/ 21 ноября 2018

ОШИБКА: (gcloud.app.deploy) Ответ об ошибке: [9] Cloud build 6axxx ... xxx9b status: FAILURE.

Я пытаюсь понять, могу ли яиспользуйте сервер NodeJS / Express с Google Cloud App Engine, стандартный режим.Мое приложение было запущено из Express-Generator .Существует одностраничное приложение, и некоторые функции возвращаются на сервер по пользовательским маршрутам.Ничего страшного.

Я установил репо и $ git clone https://gitlab.com/my_repo в оболочку GCloud.Тестирование, тестирование и повторное тестирование с использованием изолированной программной среды (локального сервера разработки). URL-адрес теста имеет вид: https://8080-dot-xxxxxx-dot-devshell.appspot.com Yipee.

Следующий шаг - трудное развертывание: я начинаю с $ gcloud app create, за которым следует $ gcloud app deploy (должен был совершить боковую поездку, чтобы убедиться, что авторизация правильная, а биллинг целиком и т. д.).Сайт / сервер полностью работает как задумано.URL-адрес имеет вид https://my-custom-XYZ-website.appspot.com/ Прекрасно работает.

Я могу проверить версию на Google Cloud Platform - App Engine - Консоль версий Вывод показывает мне:

 Version: 20181120t103136
 Status: Deployed 
 Traffic Allocation: 100%
 Instances: 1 
 Runtime: Node10 
 Environment: Standard 
 Size: 748.8 KB
 Deployed: (Date/Time by me)

Так что это фон.Проблема в том, что теперь я больше не могу обновлять контент.Я легко могу вставить код в интерфейс терминала, но команда $ gcloud app deploy не работает для любого типа обновления / новой версии.Вздох.

Log related info -- Build steps: 
Fetcher = successful

Builder = status, Step Failed
Builder Arguments   
--name=us.gcr.io/my-custom-XYZ-website/app-engine-tmp/app/ttl-2h:12xxxxxxa5a0 --directory=/workspace --destination=/srv --cache-repository=us.gcr.io/my-custom-XYZ-website/app-engine-tmp/build-cache/ttl-7d --cache --base=gcr.io/gae 
 runtimes/nodejs10:nodejs10_10_13_0_20181111_RC00
Directory   /workspace/

 "builder": Permission denied for "d71xxxxxxxxxxxxxxxxxx88b5" from request "/v2/my-custom-XYZ-website/app-engine-tmp/build-cache/ttl-7d/node-cache/manifests/d71xxxxxxxxxxxxxxxxxx88b5". : None

app.yaml

# [START runtime]
runtime: nodejs10
# [END runtime]

handlers:

  - url: /images
    static_dir: public/images
  - url: /javascript
    static_dir: public/javascript
  - url: /red-canoe
    static_dir: public/alt-content
  - url: /stylesheets
    static_dir: public/stylesheets

  - url: /.*
    secure: always
    redirect_http_response_code: 301
    script: auto

Есть идеи, как определить и исправить ошибку?

Примечание: я создал еще один простой тестовый продукт в node.js, и я могу легко обновить версии там.Этот тестовый продукт имел только простой app.js с простым Hello World ответом.Версия №2 имела Hello There, World (хорошо, так что да, не самый надежный тест в мире ...).Но обновление версии через $ gcloud app deploy там работало просто отлично.Я заметил, что размер версии приложения Hello World составлял около 245 КБ или около того.

1 Ответ

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

Итак, после долгих испытаний я понял, что здесь происходит.

Приложение node.js на самом деле использует три различных компонента / инструмента, связанных с Google.

  • Аутентификация Google Firebase
  • API Google Sheets, V4
  • Google App Engine (Развертывание)

Когда я создаю эти компоненты, система предлагает мне создать новый проект или использовать существующий проект.Я выбрал точно такой же проект для всех трех инструментов.Я считаю, что тот факт, что все они были связаны друг с другом, испортил возможность обновления Google App Engine vcloud app deploy

. Исправление заключалось в удалении этих трех комбинированных проектов и создании трех отдельных проектов

* 1017.* MyProject_Sheets MyProject_Firebase_Auth MyProject_AppEngineDeploy

Это работает надежно.Все сделано.

И для всех, кто может заинтересоваться API-интерфейсом Firebase / Sheets, который я здесь сделал, просмотрите эту ссылку. Я создал онлайновый телефонный справочник, защищенный входом через мобильный телефон, сконтактные данные хранятся на частной странице Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...