2013-06-20 135 views
1

我是Cloudbees的新手。我遵循這裏的說明:https://developer.cloudbees.com/bin/view/RUN/PlayframeworkCloudbees 504網關超時部署Play Framework應用程序

我可以在本地運行沒有問題的播放網絡應用程序。另外,我已經成功部署到Heroku,但是當我瞭解到Websocket不受支持時切換到Cloudbees。

但是,當我嘗試部署到雲端時,出現504網關超時。我錯過了一步嗎?我在使用Cloudbees SDK的印象下,可以在不使用SBT插件的情況下進行部署。

C:\play-2.1.0\samples\java\websocket-chat>play dist 
[info] Loading project definition from C:\play-2.1.0\samples\java\websocket-chat 
\project 
[info] Set current project to websocket-chat (in build file:/C:/play-2.1.0/sampl 
es/java/websocket-chat/) 
[info] Wrote C:\play-2.1.0\samples\java\websocket-chat\target\scala-2.10\websock 
et-chat_2.10-1.0.pom 

Your application is ready in C:\play-2.1.0\samples\java\websocket-chat\dist\webs 
ocket-chat-1.0.zip 

[success] Total time: 4 s, completed Jun 20, 2013 2:53:34 PM 

C:\play-2.1.0\samples\java\websocket-chat>bees app:deploy -a my_username/chatroom 
-t play2 dist/websocket-chat-1.0.zip 
Deploying application my_username/chatroom (environment:): dist\websocket-chat-1 
.0.zip 
Application parameters: {containerType=play2} 
........................uploaded 25% 
........................uploaded 50% 
........................uploaded 75% 
........................upload completed 
deploying application to server(s)... 
Application my_username/chatroom deployed: http://chatroom.my_username.cloudbees.n 
et 

C:\play-2.1.0\samples\java\websocket-chat>bees app:proxy:update -a my_username/cha 
troom1 httpVersion=1.1 
Are you sure you want to update this application proxy [my_username/chatroom]: (y 
/n) y 
application proxy for my_username/chatroom : updated 

C:\play-2.1.0\samples\java\websocket-chat> 

回答

1

我能夠使用Cloudbees文檔中描述的SBT方法進行部署:https://developer.cloudbees.com/bin/view/RUN/Playframework此文檔相當全面。

公平地說,安裝Cloudbees SDK有助於我在安裝SBT插件時無需安裝配置文件。

但是,我轉向git hub項目配置SBT,因爲Cloudbees文檔可能稍微落後。 sbt-cloudbees-play-plugin code/docs可以在這裏找到:https://github.com/CloudBees-community/sbt-cloudbees-play-plugin

我必須承認我不完全理解使用SBT的部署。我的項目現在成功出現在網絡上(並與websockets一起工作!),但我仍然得到這些命令行輸出。我不確定目前是否會影響性能。我已經將它包含在下面供參考,用省略號表示跳過無趣的部分。

java.lang.ExceptionInInitializerError 
     at cloudbees.Plugin$.cloudbees$Plugin$$performDeploy(cloudbees.scala:236 
) 
     at cloudbees.Plugin$$anonfun$deployTask$1.apply(cloudbees.scala:108) 
     at cloudbees.Plugin$$anonfun$deployTask$1.apply(cloudbees.scala:105) 

... 

Caused by: edu.stanford.ejalbert.exception.BrowserLaunchingInitializingException 
: unable to find config file: /edu/stanford/ejalbert/launching/windows/windowsCo 
nfig.properties 

... 

WARNING 

Looks like you are using a deprecated version of Play's SBT Project (PlayProject 
in project/Build.scala). 
We are adding all of the new Play artifacts to your libraryDependencies for now 
but consider switching to the new API (i.e. play.Project). 

For any migration related issues, please consult the migration manual at http:// 
www.playframework.org 
... 
+0

這很好聽 - 播放命令*是* sbt - 所以這只是鉤住它。我期望它能夠處理任何文件怪癖/權限,比dist更好 - 你在我注意到的窗口上。 部署時,命令行上發生錯誤 - 我接受了?我不擔心那種情況 - 看起來特定於Windows - 它看起來不想找到瀏覽器可執行文件,因此它可以在瀏覽器中啓動應用程序(只是方便,不需要!) –

+0

我將更新主要文件也是爲了確保清楚。 –

1

如果運行

bees app:tail -a username/appname 

,並看看日誌 - 它可以提供一些線索。 另外 - 你可以在本地解壓dist,然後嘗試運行。從dist運行有時可能與play命令運行時略有不同(這是不幸的,因爲play是這樣運行的,而Heroku運行在非生產模式)。

但是日誌應該略顯清楚 - 否則,如果您可以使用您的帳戶打開票證,那麼我們可以查看具體信息(因此您無需在此處說出!)。

+0

如果我們需要我的帳戶信息,我會打開一張票,但希望我們可以在此處裁決此問題。我的日誌說明我在0.0.0.0:8660上收聽。我不確定這是否正確。我的服務器日誌: '播放服務器進程ID是28917 [[37minfo [0m] play - 應用程序已啓動(產品) [[37minfo [0m] play - 在HTTP上偵聽/.0.0.0.0:8660' – Rich

+0

我嘗試過zip部署方法,現在我得到一個502錯誤。日誌陳述了一些關於「無法找到主要類:play.core.server.NettyServer。程序將退出。」 – Rich

+0

確定我能夠找到您的應用程序(第一個) - 它沒有響應它正在聽的端口 - 我不知道爲什麼。你的應用程序的「dist」可能與「play run」不同 - 嘗試解壓dist並在本地運行,看看它是否響應。由於某種原因,遊戲掛起 - 不知道爲什麼。如果你能得到這樣的運行 - 可能值得打開一張票並上傳dist,所以我們可以看看它。 –