Logicky Blog

Logickyの開発ブログです

tmuxでLaravelの開発環境を簡単に立ち上げられるようにする

Laravelの開発環境を立ち上げる時にいくつかやることがあります。 私は主に下記です。PostgreSQLとRedisはPC起動時に自動で起動するようにしています。

php artisan serve
npm run dev
minio server ~/minio-storage --console-address :9001
mailpit

これを毎回実行するのはめんどくさいですし、忘れてしまいますので、tmuxで自動起動するようにしました。 これをプロジェクトのlocal/start.shとして保存します。

#!/bin/bash

# セッション名を設定
SESSION_NAME="laravel-dev"

# 既存のセッションを終了(オプション)
tmux kill-session -t $SESSION_NAME 2>/dev/null

# 新しいセッションを作成
tmux new-session -d -s $SESSION_NAME

# ウィンドウを分割
tmux split-window -h
tmux split-window -v
tmux select-pane -t 0
tmux split-window -v

# コマンドを各ペインで実行
tmux select-pane -t 0
tmux send-keys "php artisan serve" C-m

tmux select-pane -t 1
tmux send-keys "npm run dev" C-m

tmux select-pane -t 2
tmux send-keys "mailpit" C-m
tmux select-pane -t 3
tmux send-keys "minio-start" C-m

# セッションにアタッチ
tmux attach-session -t $SESSION_NAME

あとはプロジェクトのルートに移動して、下記を実行します。

sh local/start.sh

これで簡単に環境の立ち上げができるようになりました。