2017-02-02 3 views
1

Я пытаюсь развернуть мое небольшое экспресс статическое приложение для облака 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')) 

У меня есть общая папка, которая я предполагаю, развертывается, но не может проверить. Какие-либо предложения?

+0

это * может * помочь показать * точно *, как вы развертываете и как это происходит. –

+0

Я думаю, проблема в том, что это не была загрузка общей папки внутри проекта узла. Я поднял голову и сказал, чтобы использовать gsutil для загрузки статического источника, поэтому попробовал это, и он сработал. Хотя я все еще злюсь, что мне понадобилось 5 минут для развертывания на герою и 3 часа исследований для развертывания на gcp. –

+0

Развертывание было выполнено «развертывание приложения gcloud». Переименовали мои express.js в app.js и добавили настройку порта, но никто не работал. Когда я отображал -verbosity = info, он выглядел как каталог node_modules был пропущен, поэтому он должен был не знать, почему статическая общая папка никогда не получалась загружен. Я сделал sudo внутри экземпляра приложения и не видел никакой общей папки, но нашел app.js установленным. Мой следующий выбор, вероятно, будет писать изображение докеров и загружать его через кубернете, но пока я счастлив, так как я использую Google Cloud Storage «gsutil» и синхронизацию, хотя ... не мгновенно goo –

ответ

0

Это просто никогда не работало для меня. Мои варианты заключались в создании докера. Позже я решил обратиться к Google за ответами. Ответ заключался в использовании постоянного облачного хранилища Google и развертывании вывода с использованием gsutil. Это работает, я не слишком доволен, что экспресс-статический не работает для меня. Ссылка, которая объясняет, как развернуть для экспресс-статического Best practice works for me not express static Я попробовал развернуть nodejs на heroku. Развернуто отлично через 5 минут. Желание google было так же просто.