virtualbox という仮想マシンツールの上に, linuxを入れて
その上にNUTFes/group-managerというWebアプリをビルドする.
vagrant は自動で環境構築をやってくれるツール.
vagrantとvirtualboxはよしなに入れてください バージョンは最新を使ってください
- vagrant http://localhost:3000/user_details/10000014
- virtualbox https://www.virtualbox.org/
vagrantの設定ファイルがあるリポジトリからファイルをgit clone
git cloneがうまくいかない場合はgitのプロキシを設定する
学内であれば, yourproxy.comの部分に学内のプロキシを設定
git config --global https.proxy http://proxy.yourproxy.com:8080
その後, 以下のコマンドを打つ
$ git clone https://github.com/NUTFes/group_manager_env.git
$ cd ./group_manager_env
vagrantを使い, virtualbox上に仮想マシンを作成する.
使用するOSはUbuntu 14.04
VagrantはVagrantfileがあるディレクトリでないと,
動かないことに注意
$ pwd
/Users/yourname/workspace/group_manager_env
$ ls
... Vagrantfile ...
$ vagrant up > log.txt
# 30~40分くらい待つ
# ログは``./log.txt``に残る
あとは, 待っていれば仮想マシンが作成される.
vagrant up / halt / provision / ssh / destoryあたりは使うので調べると幸せになれる.
仮想マシン(virtual machine)をゲストマシン(ゲストOS, vm),
元々パソコンで動いていたマシンをホストマシン(ホストOS)と呼ぶ
sshを使ってゲストマシンに接続
# vagranfileがあるディレクトリ
$ vagrant ssh
sshでログインした状態で
$ bundle exec rails server --bind=0.0.0.0
ホストマシンのブラウザからhttp://localhost:3000に接続すればvagrant内のサーバに繋がる
ブラウザのプロキシ設定はoffにすること
NUTFes/group-managerでは, アカウント作成時に確認メールが送信される.
ローカル開発環境ではサーバの環境変数を読んでいる.
ゲストマシン内の~/set_env_variable.shの中を編集する.
このファイルはgithubにあげるとパスワード漏れるのであげないこと
https://github.com/NUTFes/group-manager/blob/develop/docs/setup.md
vagrantは共有フォルダを自動で作成してくれる.
ホストマシンのVagrantfileがあるディレクトリを
ゲストマシンの/vagrantとしてコピーしてくれる.
基本的には, ホスト -> ゲストの方向でファイル共有する運用
開発環境に影響があるファイルについてはホストマシン側でファイル編集 / git管理をして,
ゲストマシンは共有フォルダからファイルを読む/コピーするだけの設計
管理するリポジトリが1つになり運用が楽になる.