LoginSignup
12
4

More than 3 years have passed since last update.

gem foreman について簡単に知る

Posted at

この記事の目的

業務で日々出てくる新しい学習をまとめています。
いつも名前だけ見ていた、foremanというgemが業務で登場したので、メモを残します。

foremanとは?

アプリの外部にあるProcfileというファイルに設定を書き込むと、WEBアプリの立ち上げに必要なさまざまなプロセスを一気に立ち上げることができます。

▶︎Getting Started(公式)

例えば今回のプロジェクトでは、アプリケーションルート直下にある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

をすると....。

Image from Gyazo

webpackerwebそれぞれの名前でプロセスが実行されているのがわかります。(左端に注目!)

これからは、rails sbin/webpack-dev-serverを別々のターミナルでそれぞれ立ち上げなくてよくなりますね。

留意点?導入について

ただ、今回はgemでforemanを入れてしまったのですが...。

Gemfile
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など詳しく知りたいなー。と思ったり。

12
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
4