Cloud foundry 将Play Framework 2.2应用程序发布到CloudFoundry时,VMC无法检测应用程序类型
我正在使用一个免费的云铸造帐户。今天我尝试推我的Play 2.2应用程序,但它拒绝启动,消息是Cloud foundry 将Play Framework 2.2应用程序发布到CloudFoundry时,VMC无法检测应用程序类型,cloud-foundry,playframework-2.2,Cloud Foundry,Playframework 2.2,我正在使用一个免费的云铸造帐户。今天我尝试推我的Play 2.2应用程序,但它拒绝启动,消息是无法检测支持的应用程序类型(RuntimeError) 将应用程序部署到cloud foundry的过程如中所述 有没有人能让它工作起来 以下是完整的错误消息: Preparing to start ***... OK -----> Downloaded app package (38M) /var/vcap/packages/dea_next/buildpacks/lib/buildpack.r
无法检测支持的应用程序类型(RuntimeError)
将应用程序部署到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
准备开始***。。。好啊
----->下载的应用程序包(38M)
/var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:94:“构建包”中:无法检测受支持的应用程序类型(运行时错误)
从/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'
从/var/vcap/packages/dea_next/buildpacks/bin/run:10:in`'
正在检查应用程序“***”的状态…应用程序转移失败
编辑:我在官方邮件列表上发布了这个问题。还没有答案。但以下是重现问题的步骤:
播放新版本22
)cd version22
)playdist
)cf push--path=target/universal/version22-1.0-SNAPSHOT.zip
)--只选择了默认值我猜这是由于新的stage和dist任务改变了应用程序的包装。这可能会导致CloudFoundry检测应用程序类型时出现问题 您在v1或v2上的目标云铸造版本是什么 您遇到的错误是因为cf没有用于播放的构建包框架 如果您的目标是cloud foundry v2,请尝试以下方式推送应用程序:
cf push--buildpack经过一些尝试和错误之后,我使用以下
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_主页:.JAVA
应用:
-姓名:
内存:512M
实例:1
主持人:
域名:cfapps.io
路径:
命令:.//bin/
构建包:https://github.com/cloudfoundry/java-buildpack
您必须为您的应用程序填写信息,并配置其他信息,但核心解决方案是提供JAVA_HOME
env变量和start命令的正确路径
也许我们应该考虑SBT任务来创建这个文件作为永久性修复,或者更新java构建包…我不确定哪一个是最好的方法
编辑:您还需要在
/start
中放置一个名为start的脚本,否则cloud foundry将尝试编译该应用程序,但失败惨重-我想这也需要在java buildpack中修复。这已经被解决。应该很快就会解决。似乎是一个问题,只有在播放2.2时才会出现。我将应用程序移植到2.1.5和2.0.8。在play 2.2.0和任何cloud foundry变体中的同一问题上,它的工作方式就像一个角色一样。cloud foundry Java buildpack中的play 2.2支持在10月底得到了修复:。