Google Cloud ВНИМАНИЕ: автоматическое определение приложения устарело и будет вскоре удалено
Я пытаюсь развернуть проект nodejs в Google Cloud и получил следующую ошибку в Google Cloud SDK Shell после входа в развертывание приложения gcloud. Я сделал следующее до развертывания. (Я обрисовал в общих чертах шаги в блоке цитат из-за некоторой странной проблемы форматирования с кодом ниже, который фактически нигде не цитируется). Огромное спасибо!
- Создал проект в Google Cloud
- Создал app.yaml в той же папке, что и мой app.js. Я указал время выполнения:nodejs и env:flex для app.yaml
- Я установил порт на 8080 и добавил "start": "node app.js" в package.json
- Я открыл Google Cloud SDK Shell, затем ввел: gcloud auth login. Затем я вошел в набор настроек конфигурации gcloud и вставил свой идентификатор проекта. Затем я вошел: развертывание приложения gcloud.
WARNING: Automatic app detection is deprecated and will soon be removed.
As an alternative, create an app.yaml file yourself using the directions at
https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-
with-app-yaml (App Engine Flexible Environment) or
https://cloud.google.com/appengine/docs/standard/python/config/appref (App
Engine Standard Environment) under the tab for your language.
Deployment to Google App Engine requires an app.yaml file. This
command will run `gcloud beta app gen-config` to generate an app.yaml for you in
the current directory (if the current directory does not contain an App Engine
service, please answer "no").
2 ответа
gcloud app deploy
Команда развертывания, которую вы использовали, не указала app.yaml
для службы, которая будет развернута. В зависимости от контекста / среды вызова автоматическая логика для обнаружения (или генерации) файла не всегда дает результат, которого могут ожидать пользователи, отсюда и предупреждение.
Исправление (и общая рекомендация) состоит в том, чтобы всегда указывать файл в команде развертывания (вместо того, чтобы полагаться на не 100% надежное автоматическое обнаружение / генерацию), например так:
gcloud app deploy [path_to/]app.yaml
Я исправил это, передав свои файлы в мой локальный репозиторий. Я не знаю почему, но это единственное, что я изменил, и это сработало.