Skip to content

Instant Ruby on Rails Development Environment using Vagrant and Docker

Notifications You must be signed in to change notification settings

nametaketakewo/Rails-DE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

なにこれ

面倒なRailsアプリ開発環境の構築が簡単にできます。

どうなってんの

VagrantでUbuntuを起動し、その中でDockerを稼働させています。

事前準備

VirtualBoxVagrantをインストールします。

導入

既存のRailsアプリがある場合

  • このリポジトリをcloneします。
  • cloneした中身(README.mdと.git以外)をアプリのディレクトリに放り込みます。
  • ディレクトリを移動してvagrant upします。
    • ↑もしRedisを使用しないアプリの場合はこの時に先にEXCLUDE_REDIS=trueを指定する事でRedis環境の構築を省略する事ができます。
    • 例: EXCLUDE_REDIS=true vagrant up
  • mariadb(mysql)を使用するかpostgresを使用するかを自動で判断し、url: <%= ENV['MARIADB_URL'] %>もしくはurl: <%= ENV['POSTGRES_URL'] %>がRailsアプリのconfig/database.ymlのdefault項目に自動で追加されます。

rails newするのすら面倒な場合

  • このリポジトリをcloneします。
  • ディレクトリを移動してvagrant upします。
    • ↑この時、先にAPP_NAMEAPP_DBを環境変数として設定する事でアプリの名前と使用するデータベースを指定する事ができます。
    • 例: APP_NAME=hoge APP_DB=postgresql vagrant up
    • この場合**'Hoge'という名前のpostgresql**を使用するRailsアプリが作成されます。
    • APP_NAMEを指定しなかった場合はディレクトリ名が使用されますが、cloneした時のままの名前(Rails-DE)だとAppという名前になります。
    • APP_DBにはsqlite3 mariadb postgresqlの3つのうちいずれかを指定できます。デフォルトはmariadbです。
    • Redisを使用する予定が無い場合はこの時に先にEXCLUDE_REDIS=trueを指定する事でRedis環境の構築を省略する事ができます。
    • 例: EXCLUDE_REDIS=true vagrant up
  • 自動で新しいRailsアプリが作成されます。
  • データベースの設定も自動で行われます。

使い方

vagrant upした後にvagrant ssh -c runと実行するとRailsアプリが起動し192.168.33.33:3000でアクセスできるようになります。

コマンド

vagrant ssh -c bundle-install

Gemfileに記述されているgemをインストールします。

vagrant ssh -c bundle-update

インストールされているgemをGemfileの記述に矛盾しない範囲で最新版にします。

vagrant ssh -c setup

データベースのセットアップを行います。 初回起動時に自動で行われるので通常は必要ないと思います。

vagrant ssh -c migrate

データベースのマイグレーションを行います。

vagrant ssh -c server

Railsサーバを起動します。

vagrant ssh -c run

vagrant ssh -c bundle-installvagrant ssh -c migratevagrant ssh -c serverを順次実行します。 通常アプリを起動する場合はこのコマンドを実行してください。

vagrant ssh -c connect

Railsが動作している環境に接続します。 vagrant ssh -c serverを実行しRailsアプリが起動中である必要があります。

注意

  • 3000番ポートを使用するので他のプログラムによって使用されていないか確認してください。

About

Instant Ruby on Rails Development Environment using Vagrant and Docker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages