2017-02-02 7 views
1

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')) 

を次のように私は私が展開されているが、確認できないと仮定し、パブリックフォルダを持っています。助言がありますか?

+0

* *正確に*展開方法と失敗の表示に役立つかもしれません。 –

+0

私は問題は、ノードプロジェクト内のパブリックフォルダをアップロードしていないことだと思います。私は見上げて静的なソースを読み込むためにgsutilを使用するように言ったので、それを試してみました。私はまだ怒っていますが、herokuに展開するには5分、gcpに展開するには3時間の研究が必要でした。 –

+0

展開は「gcloud app deploy」でした。 express.jsの名前をapp.jsに変更してポート設定を追加しましたが、何も機能しませんでした。--verbosity = infoを表示すると、node_modulesディレクトリがスキップされたように見えます。 app-engineインスタンスの中でsudoを実行しましたが、パブリックフォルダは表示されませんでしたが、app.jsがマウントされていました。私の次の選択は、おそらくドッカーの画像を作成し、kubernetesを介してアップロードすることですが、私はGoogleの雲のストレージ 'gsutil'と同期を使用しているので、今私は幸せです...瞬時にgoo –

答えて

0

これは単純に私のために働いたことはありません。私の選択肢はドッカーを作ることでした。その後私は答えをgoogleに決めました。答えは、一定のGoogleクラウドストレージを使用し、gsutilを使用して出力を展開することでした。それは動作します、私はあまりにも速い静的は私のために動作しない幸せではないです。エクスプレス・スタティック用にデプロイする方法を説明するリンクBest practice works for me not express static herokuにnodejをデプロイしようとしました。 5分で完全に展開。 Googleをシンプルにして欲しいです。

関連する問題