如何创建播放heroku procfile?

Bri*_*ian 11 java heroku playframework

我按照这里的指示行事

http://blog.heroku.com/archives/2011/8/29/play/

但我做的play run,然后git push heroku master但procfile是找不到的.

-----> No Procfile found. Will use process: 
       play run --http.port=$PORT $PLAY_OPTS
Run Code Online (Sandbox Code Playgroud)
  1. 如何显式创建procfile?
  2. 说明似乎表明我应该heroku master在应用程序运行时推送.我读错了吗?
  3. 我在哪里可以指定$PORT$PLAY_OPTSmydomain.herokuapp.com?
  4. 是否更好地修改%prodapplication.conf中的值?

Joh*_*non 18

您需要在项目的根目录中创建一个名为Procfile的文件,并且它应该包含Play

web: play run --http.port=$PORT $PLAY_OPTS
Run Code Online (Sandbox Code Playgroud)

当您部署应用程序时,应用程序启动时,heroku将设置$ PORT和$ PLAY_OPTS.

  • 多谢你们.我只是不理解创建文件的必要性,因为它是凌晨2点,我的大脑融化了.稍微更改文档以显式调出需要在您的播放应用程序的根目录中创建一个名为Procfile的文件"将是我对Heroku守护者的建议. (3认同)
  • 对于play 2.0,你需要一个不同的procfile.请参阅:https://github.com/playframework/Play20/wiki/ProductionHeroku (2认同)

小智 9

  1. 创建一个Procfile就像听起来一样简单.只需创建一个名为Procfile的文件,然后声明您的流程类型和命令.更多信息请访问:http: //devcenter.heroku.com/articles/procfile在这种情况下,您没有提供Procfile,因此Heroku只使用了标准的Play过程.最好的做法是在将来默认更改时,explitly提供Procfile.

  2. 不,你没有读错.要上传新版本的应用,请执行git push to heroku.

  3. $ PORT变量由Heroku内部设置.无需设置它.当您第一次将Play应用程序推送到Heroku时,$ PLAY_OPTS变量将在您的应用程序空间中设置.您可以使用heroku命令行查看它.有关该命令行的更多信息,请访问:http://devcenter.heroku.com/articles/heroku-command

要查看您的应用配置:

$ heroku config
Run Code Online (Sandbox Code Playgroud)

要更改$ PLAY_OPTS:

$ heroku config:remove PLAY_OPTS
$ heroku config:add PLAY_OPTS=...
Run Code Online (Sandbox Code Playgroud)

默认情况下,heroku将在prod框架ID下运行Play应用程序.您可以在Procfile或$ PLAY_OPTS变量中更改此设置.这里唯一重要的是你的应用程序在heroku上以PROD模式运行(请注意,模式与框架ID不同).Heroku无法在DEV模式下运行Play应用程序.


Mos*_*cho 8

它将在很大程度上取决于您正在使用的播放版本.我检查了文档,并Procfile为每个给定版本找到了以下s:

有关特定版本的详细信息,请检查以下URL:

http://www.playframework.com/documentation/2.2.1/ProductionHeroku
Run Code Online (Sandbox Code Playgroud)

确保替换2.2.1为您正在使用的任何版本.