在开发和生产中使用不同的Procfile

在开发和生产中使用不同的Procfile

本文介绍了在开发和生产中使用不同的Procfile的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我在开发中使用工头和霰弹枪,并使用以下Procfile:

我有一个自制的Sinatra应用程序,我打算使用Heroku来托管它。 p>

  code>。



或者,您可以使用脚本在应用程序中创建 bin 目录,以启动根据 $ RACK_ENV (我在,所以值得考虑)。


I have a homemade Sinatra application for which I intend to use Heroku to host it.

I use foreman and shotgun in development, with the following Procfile:

web: shotgun config.ru -s thin -o 0.0.0.0 -p $PORT -E $RACK_ENV

It works great with both development and production. But the thing is, I don't want to use shotgun in production since it's too slow.

Can we use separate Procfile configurations for both dev and prod?

解决方案

You could use two Procfiles (e.g. Procfile and Procfile.dev) and use foremans -f option to select a different one to use in dev:

In dev (Procfile.dev contains your shotgun web process):

foreman start -f Procfile.dev

In production, foreman start will pick up the normal Procfile.

Alternatively you could create a bin directory in your app with a script to start the appropriate web server depending on $RACK_ENV (an idea I found in a comment made by the creator of Foreman, so worth considering).

这篇关于在开发和生产中使用不同的Procfile的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 17:50