我尝试按照http://www.playframework.com/documentation/2.3.x/ProductionHeroku中的说明将Play Framework 2.3.0应用程序部署到Heroku。
我的简单应用程序在本地运行时没有任何问题,推送/部署到Heroku并没有显示任何错误迹象。
推送日志结束:
[…]
-----> Building runtime environment
-----> Discovering process types
Procfile declares types -> (none)
done, 11.0MB
done, v4
http://xxxxxxxxxxx.herokuapp.com/ deployed to Heroku
To git@heroku.com:xxxxxxxxxxx.git
f1c57d6..6bb0df3 master -> master
updating local tracking ref 'refs/remotes/heroku/master'
当我打开网页时,我得到了Heroku的“应用程序错误”页面(不是Play的错误页面)。
如果我运行heroku ps
没有列出任何进程(只是没有)。
这是我的第一次Heroku部署。我不知何故感觉Heroku不知道如何启动Play应用程序,因为自2.3以来从play
命令更改为activator
。
还有一件事:我注意到,在Heroku仪表板上>应用>设置>信息它说“Framework:Node.js”,这有点奇怪,虽然我在项目中使用Bower。
有什么想法吗?非常感谢!
更新:实际问题是Heroku认为我的应用程序是Node.js应用程序,只要我的存储库中有package.json
文件,就不会编译任何内容。一旦我删除它并将所有依赖项(bower_components
目录)提交到存储库,一切都很好。我现在必须找到一种方法来运行Bower更新并在推送时编译Play Framework ...
答案 0 :(得分:0)
日志是否提供了有用的信息?在部署或启动应用程序时运行heroku logs -t -a <app_name>
以查看日志。你有定义的Procfile吗?
一些方便的文档链接:
答案 1 :(得分:0)
.buildpacks文件的内容应如下所示:
https://github.com/heroku/heroku-buildpack-nodejs
https://github.com/heroku/heroku-buildpack-scala