Googleのクラウドに少し速い静的アプリケーションをデプロイしようとしています。しかし、私はなぜそれが分かりません失敗しています。ログには何もありません。デバッグフラグに冗長性を追加して展開しました。私は、GoogleのApp Engineに送信されるこのJSONを発見したgcloudアプリのデプロイが失敗しました
"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を使用するように言ったので、それを試してみました。私はまだ怒っていますが、herokuに展開するには5分、gcpに展開するには3時間の研究が必要でした。 –
展開は「gcloud app deploy」でした。 express.jsの名前をapp.jsに変更してポート設定を追加しましたが、何も機能しませんでした。--verbosity = infoを表示すると、node_modulesディレクトリがスキップされたように見えます。 app-engineインスタンスの中でsudoを実行しましたが、パブリックフォルダは表示されませんでしたが、app.jsがマウントされていました。私の次の選択は、おそらくドッカーの画像を作成し、kubernetesを介してアップロードすることですが、私はGoogleの雲のストレージ 'gsutil'と同期を使用しているので、今私は幸せです...瞬時にgoo –