1. ホーム
  2. heroku

フォアマン Procfileを開発と生産で使い分ける

2023-12-01 18:18:10

質問

私は自作のSinatraアプリケーションを持っており、それをホストするためにHerokuを使用するつもりです。

開発ではforemanとshotgunを使っていて、Procfileは以下の通りです。

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

開発、本番ともにうまくいっています。しかし、そのことは 本番ではショットガンを使いたくないので 遅すぎるからです。

Procfile の設定を dev と prod の両方で別々に使用することはできますか?

どのように解決するのですか?

あなたは、2つの Procfiles (例えば ProcfileProcfile.dev ) を使用し foreman s -f オプション で、開発で使用する別のものを選択します。

開発版では ( Procfile.dev には、あなたの shotgun ウェブプロセスが含まれます)。

foreman start -f Procfile.dev

本番では foreman start は、通常の Procfile .

別の方法として bin ディレクトリにスクリプトを記述し、そのスクリプトによって $RACK_ENV に応じて適切なウェブサーバを起動するスクリプトを用意します (私が見つけたアイデアは の作者によるコメントで見つけたアイデアです。 のコメントで見つけたアイデアなので、検討する価値があります)。