Использовать различные Procfile, для разработки и производства



У меня есть домашнее приложение Sinatra, для которого я намерен использовать Heroku для его размещения.



Я использую Форман и дробовик в разработке, со следующим Procfile:



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


Он отлично работает как с разработкой, так и с производством. Но дело в том,Я не хочу использовать дробовик производства так как это слишком медленно.



можем ли мы использовать отдельные конфигурации Procfile как для dev, так и для prod?

622   2  

2 ответов:

вы могли бы использовать два Procfiles (например,Procfile и Procfile.dev) и использовать foremans -f опции чтобы выбрать другой для использования в dev:

в dev (Procfile.dev содержит shotgun веб-процесса):

foreman start -f Procfile.dev

производства foreman start заберет нормальный Procfile.

в качестве альтернативы вы можете создать bin каталог в вашем приложении со скриптом для запуска соответствующего веб-сервера в зависимости от $RACK_ENV (идея, которую я нашел в a комментарий создателя Foreman, так что стоит задуматься).

вот способ справиться с этим с помощью одного Procfile и переменных окружения. Я использую это на Heroku.

установите ваше окружение:

export WEB_START_COMMAND='node index.js'
export WORKER_START_COMMAND='node worker.js'

Procfile:

web: eval '$WEB_START_COMMAND'
worker: eval '$WORKER_START_COMMAND'

экспорт различных команд запуска в среде сервера и разработчика.

Comments

    Ничего не найдено.