ruby/rails
私は、異なるバージョンで実行される 3 つの Rails アプリケーションを含むプロジェクトを持っています。3 つのプロジェクトすべてを開始する単一のスクリプトを設定しようとしています。以下のシェルスクリプトを書くことから始めました:
mysql.server start
echo first argument: $1
open -a /Applications/Utilities/Terminal.app redis-server
open -a /Applications/Utilities/Terminal.app /Users/acumendigital/org/shell_scripts/application1.sh --args $1
open -a /Applications/Utilities/Terminal.app /Users/acumendigital/org/shell_scripts/application2.sh --args $1
引数(現在のリリースのブランチ)を取り、次を実行します。
cd /Users/acumendigital/org/application1
git fetch origin $1
git stash
git checkout $1
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
# First try to load from a user install
source "$HOME/.rvm/scripts/rvm"
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
# Then try to load from a root install
source "/usr/local/rvm/scripts/rvm"
else
printf "ERROR: An RVM installation was not found.\n"
fi
rvm install ruby-1.9.3-p551
rvm use ruby-1.9.3-p551
gem install bundler
bundle install
rake db:migrate
bundle exec rails s -p 3001
問題は、このようにプロセスを実行すると、シェルで実行されていないため、rvm と ruby のバージョンのインストールを毎回行う必要があることです。これにより、スクリプトが作成するように設計されている時間の節約が無効になります。tmuxinator
同じスクリプトを実行することはできましたtmuxinator
がruby
、pre_window
. つまり、毎回 rvm ect をインストールする必要があります。tmuxinator
現在、構成にあるものは次のとおりです。
name: work
root: ~/org/
windows:
- application1: cd shell_scripts && ./application1.sh
- application2: cd shell_scripts && ./application2.sh
これらのスクリプトをシェル セッションとして実行するが、異なるバージョンの Ruby を使用する最良の方法は何ですか?
追加情報が必要かどうかお尋ねください。提供いたします。
ご覧いただきありがとうございます。