この記事の目的
業務で日々出てくる新しい学習をまとめています。
いつも名前だけ見ていた、foreman
というgemが業務で登場したので、メモを残します。
foremanとは?
アプリの外部にあるProcfile
というファイルに設定を書き込むと、WEBアプリの立ち上げに必要なさまざまなプロセスを一気に立ち上げることができます。
例えば今回のプロジェクトでは、アプリケーションルート直下にあるProcfile
というファイルに、以下のように設定が書き込まれていました。
web: /bin/sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
webpacker: ./bin/webpack-dev-server
これはweb
という名前でRailsのプロセスを、webpacker
という名前でWebpackerのプロセスを実行するコードになります。
foreman
が実行できる状態で、ターミナル上で、
$ foreman start
をすると....。
webpacker
とweb
それぞれの名前でプロセスが実行されているのがわかります。(左端に注目!)
これからは、rails s
とbin/webpack-dev-server
を別々のターミナルでそれぞれ立ち上げなくてよくなりますね。
留意点?導入について
ただ、今回はgemでforeman
を入れてしまったのですが...。
group :development do
gem ‘foreman’
end
公式サイトを見ると、思い切りこんなことが書いてあります。
Ruby users should take care not to install foreman in their project's Gemfile. See this wiki article for more details.
引用文中で言及されているwiki articleによると、bundleするとアプリにバグが発生する可能性があるから、コマンドで入れてね、ということでした。
$ gem install foreman
次回から気をつけます。。。
おしまい・参考文献
とにかくにも、以前から気になっていたforeman
について知ることができてよかったです。
実装時にはこちら↓の記事を参考にしました。わかりやすかったです。
次回はaxiosなど詳しく知りたいなー。と思ったり。