2013-10-08 40 views
0

我正在使用免費的雲代工帳戶。今天我試着推出我的Play 2.2應用程序,但它拒絕開始,消息是Unable to detect a supported application type (RuntimeError)當將Play Framework 2.2應用發佈到CloudFoundry時,VMC無法檢測應用類型

部署在the official documentation.

描述有沒有人還沒有得到這個工作的應用程序到Cloud Foundry是做什麼?

以下是完整的錯誤消息:

Preparing to start ***... OK 
-----> Downloaded app package (38M) 
/var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:94:in `build_pack': Unable to detect a supported application type (RuntimeError) 
from /var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:72:in `block in compile_with_timeout' 
from /usr/lib/ruby/1.9.1/timeout.rb:68:in `timeout' 
from /var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:71:in `compile_with_timeout' 
from /var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:53:in `block in stage_application' 
from /var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:49:in `chdir' 
from /var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:49:in `stage_application' 
from /var/vcap/packages/dea_next/buildpacks/bin/run:10:in `<main>' 
Checking status of app '***'...Application failed to stage 

編輯:我張貼的問題的官方郵件列表上。還沒有答案。但這裏是重現該問題的步驟:

  1. 創建一個新的遊戲2.2的應用程序(play new version22
  2. cd進入app目錄(cd version22
  3. 建設項目(play dist
  4. 推應用到Cloud Foundry(cf push --path=target/universal/version22-1.0-SNAPSHOT.zip) - 只需選擇默認值
  5. 爆炸

我想這是由new Feature (What's new in Play 2.2?)引起的新的階段和dist任務改變了應用程序的包裝。這可能會導致雲代工問題檢測到應用程序類型。

+0

在Play 2.2.0和任何雲代工變體中遇到同樣的問題。 – andraus

回答

0

這是confirmed as a bug。應該儘快解決。

+0

Cloud Foundry中的Play 2.2支持Java buildpack在10月底得到了修復:https://github.com/cloudfoundry/java-buildpack/commit/4db158aaf2c0ca2a1540c120b0d74381b42c47f0。 –

0

您針對v1或v2選擇哪種雲代工版本?

您遇到的錯誤是因爲,cf沒有用於播放框架的構建包。

如果你的目標的Cloud Foundry V2嘗試推動應用程序是這樣的:

CF推--buildpack https://github.com/cloudfoundry/java-buildpack

+0

似乎是一個只出現在遊戲2.2中的問題。我將應用程序移植到2.1.5和2.0.8。像Charme一樣工作 – mana

0

一些試驗和錯誤後,我得到了它的工作使用以下manifest.yml到Cloud Foundry上部署V2:

--- 
env: 
    JAVA_HOME: .java 
applications: 
- name: <APP_NAME> 
    memory: 512M 
    instances: 1 
    host: <AP_HOST_NAME> 
    domain: cfapps.io 
    path: <PATH_TO_ZIP_FILE> 
    command: ./<DIR_PACKAGE_NAME>/bin/<APP_NAME> 
    buildpack: https://github.com/cloudfoundry/java-buildpack 

您必須填寫<之間的信息>爲您的應用程序,和配置等信息,以及,但核心的解決方案是提供JAVA_HOME env變量,以及啓動命令的正確路徑。

也許我們應該考慮一個SBT任務來創建這個文件作爲永久修復,或者更新java-buildpack ......我不確定哪一個是最好的方法。

編輯:你還需要放置一個腳本調用開始在<DIR_PACKAGE_NAME>/start,否則的Cloud Foundry將嘗試編譯應用程序,並慘遭失敗 - 我想這需要固定在Java的buildpack爲好。

相關問題