我正在尝试将一个示例scala playframework应用程序部署到云铸造(https://api.run.pivotal.io)
$ cf push play-cf-demo-1.0-SNAPSHOT.zip
但它失败的原因
没有一个构建包检测到兼容的应用程序
我试着运行下面的命令,它会给我一个清单,如果buildpack
cf buildpacks
java_buildpack 2 true false java-buildpack-offline-cflinuxfs3-v4.31.1.zip cflinuxfs3
go_buildpack 6 true false go_buildpack-cached-cflinuxfs3-v1.9.14.zip cflinuxfs3
python_buildpack 7 true false python_buildpack-cached-cflinuxfs3-v1.7.15.zip cflinuxfs3
我认为java构建包也适用于play scala应用程序。
任何帮助我使用正确的构建包进行部署或创建自己的构建包的特定命令。
Java构建包支持Play应用程序。
https://github.com/cloudfoundry/java-buildpack/blob/main/docs/example-play_framework.md
正如文档中所述,当与play dist
或play stage
打包时,Java构建包可以运行Play应用程序。
此外,您使用的命令似乎有点偏离。您需要运行cf push play-application -p path/to/play-f-demo-1.0-SNAPSHOT.zip
。
第一个参数是应用程序名称,-p
参数告诉cf
在哪里可以找到打包的Play应用程序。
在这个问题的情况下,运行的命令将应用程序名称设置为文件名,但不设置路径,这意味着cf push
将从当前目录上传所有内容,这几乎可以肯定是Java构建包不知道如何运行的。