0

我正在使用免费的 Cloud Foundry 帐户。今天我尝试推送我的 Play 2.2 应用程序,但它拒绝启动,消息是Unable to detect a supported application type (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

编辑:我在官方邮件列表上发布了这个问题。还没有答案。但这里是重现问题的步骤:

  1. 创建一个新的 play 2.2 应用程序 ( play new version22)
  2. cd 进入应用程序目录 ( cd version22)
  3. 构建项目 ( play dist)
  4. 将应用程序推送到 Cloud Foundry ( cf push --path=target/universal/version22-1.0-SNAPSHOT.zip) - 只需选择默认值

我猜这是由新功能引起的(Play 2.2 中有什么新功能?) 改变了应用程序包装的新阶段和 dist 任务。这可能会导致云代工问题检测应用程序类型。

4

3 回答 3

0

您针对 v1 或 v2 的哪个 Cloud Foundry 版本?

您遇到的错误是因为 cf 没有用于播放框架的构建包。

如果您的目标是 Cloud Foundry v2,请尝试以这种方式推送应用程序:

cf push --buildpack https://github.com/cloudfoundry/java-buildpack

于 2013-10-08T18:32:00.187 回答
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_HOMEenv 变量,以及启动命令的正确路径。

也许我们应该考虑一个 SBT 任务来创建这个文件作为永久修复,或者更新 java-buildpack ......我不确定哪一个是最好的方法。

编辑:您还需要放置一个名为 start in 的脚本<DIR_PACKAGE_NAME>/start,否则 Cloud Foundry 将尝试编译应用程序并严重失败 - 我想这也需要在 java-buildpack 中修复。

于 2013-10-15T15:29:51.227 回答
0

这已被确认为一个错误。应该很快修复。

于 2013-10-17T10:16:35.057 回答