Частный случай, когда gcloud app deploy
работает без дополнительных аргументов, относится только к приложениям с одним сервисом и только в том случае, если команда выполняется в каталоге, в котором существует файл конфигурации app.yaml
сервиса (и с таким точным именем, можетне используйте другое имя).
Для других случаев можно / нужно указывать развертываемые файлы.От gcloud app deploy
:
ОПИСАНИЕ
gcloud app deploy [DEPLOYABLES …] [--bucket=BUCKET] [--image-url=IMAGE_URL] [--no-promote] [--no-stop-previous-version]
[- версия = ВЕРСИЯ, -v ВЕРСИЯ] [GCLOUD_WIDE_FLAG…]
ОПИСАНИЕ
Эта команда используется для развертывания кода и конфигурации на сервере App Engine.В качестве входных данных требуется один или несколько 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Стандартные приложения, вы должны добавить путь к файлу appengine-web.xml
в каталоге WEB-INF. При развертывании приложения gcloud пропускаются файлы, указанные в файле .gcloudignore (дополнительную информацию см. gcloud
topic gcloudignore
).
Таким образом, помимо запуска команды без аргументов в каталоге, в котором существует app.yaml
, необходимо указать app.yaml
(с полным или относительным путем, если необходимо) в качестве развертываемого:
gcloud app deploy path/to/your/app.yaml
ИМХО делать это - хорошая привычка - указание развертываемых файлов более надежно и является единственным способом развертывания приложений с несколькими службами или использования маршрутизации через файл dispatch.yaml
.