2016-10-04 239 views
1

我嘗試將一個新的Sails.js應用程序部署到Google App Engine。當我簡單地部署框架(使用CLI sails new web-service創建的vanilla Sails.js應用程序)時,它工作得很好。部署發生得很快,我可以通過訪問該URL來訪問該應用程序。將Sails.js應用程序部署到Google App Engine時超時

我配置了ORM /config/connections.js以連接到mLab MongoDB數據庫。這種變化之後,應用程序工作正常,我的本地機器上,但是當我使用的終端部署到谷歌應用程序引擎,我得到以下控制檯錯誤:

Updating service [default]...failed. 
ERROR: (gcloud.app.deploy) Error Response: [13] Timed out when starting VMs. (1/2 ready, 1 still deploying). 

npm ERR! Darwin 15.5.0 
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "deploy" 
npm ERR! node v5.11.0 
npm ERR! npm v2.14.5 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] deploy: `gcloud app deploy --project web-service-staging` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] deploy script 'gcloud app deploy --project web-service-staging'. 
npm ERR! This is most likely a problem with the web-service package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  gcloud app deploy --project web-service-staging 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls web-service 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /Users/Nag/Code/web-service/npm-debug.log 

這裏是npm-debug.log輸出:

0 info it worked if it ends with ok 
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'deploy' ] 
2 info using [email protected] 
3 info using [email protected] 
4 verbose run-script [ 'predeploy', 'deploy', 'postdeploy' ] 
5 info predeploy [email protected] 
6 info deploy [email protected]0 
7 verbose unsafe-perm in lifecycle true 
8 info [email protected] Failed to exec deploy script 
9 verbose stack Error: [email protected] deploy: `gcloud app deploy --project web-service-staging` 
9 verbose stack Exit status 1 
9 verbose stack  at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:214:16) 
9 verbose stack  at emitTwo (events.js:100:13) 
9 verbose stack  at EventEmitter.emit (events.js:185:7) 
9 verbose stack  at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14) 
9 verbose stack  at emitTwo (events.js:100:13) 
9 verbose stack  at ChildProcess.emit (events.js:185:7) 
9 verbose stack  at maybeClose (internal/child_process.js:850:16) 
9 verbose stack  at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5) 
10 verbose pkgid [email protected] 
11 verbose cwd /Users/Nag/Code/web-service 
12 error Darwin 15.5.0 
13 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "deploy" 
14 error node v5.11.0 
15 error npm v2.14.5 
16 error code ELIFECYCLE 
17 error [email protected] deploy: `gcloud app deploy --project web-service-staging` 
17 error Exit status 1 
18 error Failed at the [email protected] deploy script 'gcloud app deploy --project web-service-staging'. 
18 error This is most likely a problem with the web-service package, 
18 error not with npm itself. 
18 error Tell the author that this fails on your system: 
18 error  gcloud app deploy --project web-service-staging 
18 error You can get their info via: 
18 error  npm owner ls web-service 
18 error There is likely additional logging output above. 
19 verbose exit [ 1, true ] 

它是否無法啓動,因爲它無法連接到mLab數據庫?如果是,那爲什麼?在我的本地機器上工作得很好。增加超時會有幫助嗎?如果是的話,我該怎麼做?

回答

1

好吧,我設法通過更改ORM hookTimeout來解決此問題。

/config/env/development.js/config/env/production.js,添加以下:

module.exports = { 

    // Extends the ORM timeout to connect to the database 
    hookTimeout: 240000 
}; 
相關問題