Rails プロジェクトの実行環境を作る

これからしばらく Rails についての blog を更新していきます。
そのための下準備として、Ruby の実行環境を作り方を記載していきます。

■ プロジェクトの実行環境を作成する

昔は、実行環境を構築するまでが一苦労でしたが、今は誰かが用意してくれたやつを実行すればよいだけになっていることが多くて楽ですよね。今回のプロジェクトでは、 Ansible + Vagrant で作成していくことになりました、私が…。

■ なぜ Ansible か?

  • Client に特別なアプリを入れる必要がない
  • 特殊な DSL を覚える必要がない

■ なぜ Docker ではないのか?

  • なにか問題が発生した時に、ある程度開発者個人で対応できる必要があるが、そこまでコストを掛けられないのではないか?
  • 新しく人が入ってくるたびに、 Docker について学んでもらう必要があるが、そこまでコストを掛けられないのではないか? と判断したため

■ Ansible でやっていること

  • OS のインストール
  • 必要なライブラリのインストール
  • bashrc などへの書き込み、 ソフトリンクの作成など環境設定
  • プロジェクトのコードの Git clone
  • DB へのデータ投入

Ruby の実行環境について

Ruby の実行環境は Vagrant 内に rbenv —global で設定しています。
専用の VirtualBox なので、グローバルで設定したほうが良いという判断です。
ansible で設定しています。

Ubuntu 用は Galaxy.ansible.com で公開中です。
https://galaxy.ansible.com/list#/roles/2698

■ gem のインストールについて

開発環境を作成するときに ansible から bundler を グローバル環境に gem install しています。 bundler 以外のインストールについて気にするときは、Rails new した時に —path を指定するのを忘れないようにします。
一回、path を設定すると .bundler/config にインストール場所が保存されます。
この場合、Gemfile を更新した場合は次回から bundle install で OK です。

■ どこまで書くか問題

こういう環境設定の話って、どこまで書くか毎回悩みますわ…。