Tmuxを使ってプロジェクトの開発環境をいっぱつで起動するヘ(^o^)ノ
一つのプロジェクトで複数のタブを開いて作業したりしませんか?
Rubyのアプリケーションであれば foreman を使ったりするかもしれませんが、、
Shinosaka.rbで今回のテーマにぴったりなプロジェクトがあるのでそいつを使って試してみます。
まずは セッションを作成してみましょう。
$ echo "SESSION_NAME=tebukuro" >> bin/tmux_launch.sh $ echo "tmux new-session -d -s \$SESSION_NAME" >> bin/tmux_launch.sh
実行権限をつけてあげます。
$ chmod u+x bin/tmux_launch.sh
スクリプトを実行してattachしてみましょう
$ sh bin/tmux_launch.sh $ tmux attach -t tebukuro
tebukuroというsessionにattachできました。
exit
で tumuxを閉じましょう。
tebukuroは同じリポジトリにbackend(rails)とfrontend(Koa)が混在してます。
server
という名前のwindowを作成し、スプリットしたwindow上で実行してみましょう。
windowを作成します。
$ echo "tmux new-window -t \$SESSION_NAME -n 'server'" >> bin/tmux_launch.sh
作成したwindow上でRailsを起動してみます。
$ echo "tmux send-keys 'bundle; bin/rake db:migrate; bin/rails s' C-m" >> bin/tmux_launch.sh $ sh bin/tmux_launch.sh $ tmux attach -t tebukuro
Railsが無事起動しました。
次はfrontendですがwindowをスプリットしてKoaを起動してみましょう。
$ echo "tmux split-window -h" >> bin/tmux_launch.sh $ echo "tmux send-keys 'yarn; yarn start' C-m" >> bin/tmux_launch.sh $ sh bin/tmux_launch.sh $ tmux attach -t tebukuro
Koaも起動しました。
最後にattachも追加しましょう。
$ echo "tmux attach -t \$SESSION_NAME"
せっかくなのでこの修正をPRしました。(mergeされるかどうかわかりませんが、、)
Happy Hacking٩( ‘ω’ )و