3

Play2 アプリケーションを CloudBees にデプロイするために、ここで説明されている手順に従いました: https://developer.cloudbees.com/bin/view/RUN/Playframework

私の Build.scala 設定は次のようになります。

val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA)
        .settings(cloudBeesSettings :_*)
        .settings(CloudBees.applicationId := Some("application"))
        .settings(CloudBees.username := Some("username"))
        .settings(CloudBees.apiKey := Some("0123456789ABCDEF"))
        .settings(CloudBees.apiSecret := Some("88888889999999$999999998888888="))
        .settings(CloudBees.host := "https://api.cloudbees.com/api")
        .settings(
          // Add your own project settings here  
        )

ただし、デプロイ時に次のメッセージが表示されます。

[info] Deploying application-1.0-SNAPSHOT to Run@Cloud/username/application
........................uploaded 25%
........................uploaded 50%
........................uploaded 75%
........................upload completed
deploying application to server(s)...
....[info] Application available at http://application.username.cloudbees.net
[error] {file:/Users/user/dev/play2/Application/application/}Application/*:cloudbees-deploy: java.lang.ExceptionInInitializerError
[error] Total time: 74 s, completed Feb 3, 2013 7:44:43 PM

http://application.username.cloudbees.netにアクセスすると、「502 Bad Gateway - nginx/1.2.0」というエラーが表示されます...

これは、私が Java 1.7 を搭載した Mac を使用していて、CloudBees が 1.6 を期待しているためだと考えています...? sbt-cloudbees-play-plugin プロジェクト ソースから、「deployParams」オプションを Map として設定できる場所を確認できますが、私は Scala をまったく初めて使用するので、その方法がわかりません。Build.scala のようなことをしたいのですが、エラーが発生し続けます:

.settings(CloudBees.deployParams += ("java_version" -> "1.7"))

java_version パラメータについては、https ://developer.cloudbees.com/bin/view/RUN/JVMVersion で説明しています。

ここでプロジェクトのソースを確認できます: https://github.com/CloudBees-community/sbt-cloudbees-play-plugin/blob/master/src/main/scala/cloudbees.scala

何をすべきか途方に暮れていますか、または展開の何が問題になっている可能性がありますか? データベース接続のないまったく新しい Play アプリケーションを作成しても、引き続き失敗します。

私が間違っているかもしれないことについての洞察は大歓迎です:)ありがとう!

4

2 に答える 2

3

オプションを試すことができます。

CloudBees.deployParams := Map("runtime.java_version" -> "1.7"),
CloudBees.openOnUpload := false,

最初のオプションは、おそらくあなたの問題である Java 1.7 にランタイムを設定します。sbt が JDK7 を使用している場合、RUN@cloud プラットフォームを Java 7 に設定する必要があります。

2 番目のオプションはExceptionInInitializerError、展開時にブラウザを開くことを無効にすることで問題を解決します。私の経験では、このエラーはコンピュータで Java 7 が使用されていることを示しています。これは、Java 6 ではなく Java 7 でのみこのエラーを確認したためです。

于 2013-02-04T06:18:27.893 に答える
0

また、コンテナー固有の方法で失敗した場合に備えて、Web コンソールまたは bees app:tail コマンドを使用して、アプリのログを常に確認することを忘れないでください (500 以外のエラーを返すことはできません。 Web 経由でエラーに関する情報を漏らしたくないため、その場合は一般的なエラーです)。

于 2013-02-04T06:38:02.167 に答える