面倒なRailsアプリ開発環境の構築が簡単にできます。
VagrantでUbuntuを起動し、その中でDockerを稼働させています。
VirtualBoxとVagrantをインストールします。
- このリポジトリをcloneします。
- cloneした中身(README.mdと.git以外)をアプリのディレクトリに放り込みます。
- ディレクトリを移動して
vagrant up
します。- ↑もしRedisを使用しないアプリの場合はこの時に先に
EXCLUDE_REDIS=true
を指定する事でRedis環境の構築を省略する事ができます。 - 例:
EXCLUDE_REDIS=true vagrant up
- ↑もしRedisを使用しないアプリの場合はこの時に先に
- mariadb(mysql)を使用するかpostgresを使用するかを自動で判断し、
url: <%= ENV['MARIADB_URL'] %>
もしくはurl: <%= ENV['POSTGRES_URL'] %>
がRailsアプリのconfig/database.yml
のdefault項目に自動で追加されます。
- このリポジトリをcloneします。
- ディレクトリを移動して
vagrant up
します。- ↑この時、先に
APP_NAME
とAPP_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でアクセスできるようになります。
Gemfileに記述されているgemをインストールします。
インストールされているgemをGemfileの記述に矛盾しない範囲で最新版にします。
データベースのセットアップを行います。 初回起動時に自動で行われるので通常は必要ないと思います。
データベースのマイグレーションを行います。
Railsサーバを起動します。
vagrant ssh -c bundle-install
とvagrant ssh -c migrate
とvagrant ssh -c server
を順次実行します。
通常アプリを起動する場合はこのコマンドを実行してください。
Railsが動作している環境に接続します。
vagrant ssh -c server
を実行しRailsアプリが起動中である必要があります。
- 3000番ポートを使用するので他のプログラムによって使用されていないか確認してください。