Я пытаюсь развернуть мое небольшое экспресс статическое приложение для облака Google. Это неудачно, но я не могу понять, почему. В журналах ничего нет. Я развернул его, добавив многословие для отладки флага. Я нашел, что это JSON отправляется в Google App Enginegcloud app deploy failed для моих nodejs
"betaSettings": {
"module_yaml_path": "app.yaml",
"vm_runtime": "nodejs"
},
"env": "flex",
"handlers": [
{
"script": {
"scriptPath": "PLACEHOLDER"
},
"urlRegex": ".*"
}
],
"runtime": "vm"
}"
Дело в том, что меня беспокоит, что scriptpath разрешен в качестве заполнителя. Не уверен, что это имеет смысл. Вот мой app.yaml
runtime: nodejs
env: flex
Мои app.js выглядит следующим образом
var express = require('express')
var app = express()
app.set('port', (process.env.PORT || 8080))
app.use(express.static('public'))
app.listen(app.get('port'))
У меня есть общая папка, которая я предполагаю, развертывается, но не может проверить. Какие-либо предложения?
это * может * помочь показать * точно *, как вы развертываете и как это происходит. –
Я думаю, проблема в том, что это не была загрузка общей папки внутри проекта узла. Я поднял голову и сказал, чтобы использовать gsutil для загрузки статического источника, поэтому попробовал это, и он сработал. Хотя я все еще злюсь, что мне понадобилось 5 минут для развертывания на герою и 3 часа исследований для развертывания на gcp. –
Развертывание было выполнено «развертывание приложения gcloud». Переименовали мои express.js в app.js и добавили настройку порта, но никто не работал. Когда я отображал -verbosity = info, он выглядел как каталог node_modules был пропущен, поэтому он должен был не знать, почему статическая общая папка никогда не получалась загружен. Я сделал sudo внутри экземпляра приложения и не видел никакой общей папки, но нашел app.js установленным. Мой следующий выбор, вероятно, будет писать изображение докеров и загружать его через кубернете, но пока я счастлив, так как я использую Google Cloud Storage «gsutil» и синхронизацию, хотя ... не мгновенно goo –