Tab*_*rez 10 ruby gem ruby-on-rails heroku foreman
我希望foreman gem使用我的开发环境文件中提供的PORT值,而不是使用自己的值.我的文件设置如下所示:
启动工头的bash脚本:
工头开始-e development.env
development.env文件内容:
PORT = 3000
Procfile内容
web:bundle exec rails server thin -p $ PORT -e $ RAILS_ENV $ 1
开发服务器最终从端口5000开始.我知道我可以使用--p 3000启动工头强制它使用该端口.但这违背了env文件的目的.
有什么建议?
Cim*_*imm 12
我知道这是一个很老的帖子,但我花了一段时间才想出来,所以也可以在这里添加一个注释.
Foreman根据您在Procfile中定义服务的位置来增加PORT.
假设我们的PORT环境变量设置为3000.
在我们的第一个Procfile示例中,Puma将在PORT 3000上运行:
web: bundle exec puma -q -p $PORT
worker: bundle exec rake jobs:work
Run Code Online (Sandbox Code Playgroud)
但是在我们的第二个Procfile中,它将在PORT 3100上运行,因为PORT变量用在第二行.
worker: bundle exec rake jobs:work
web: bundle exec puma -q -p $PORT
Run Code Online (Sandbox Code Playgroud)
不知道为什么,我想防止不同的进程尝试使用相同的PORT.