けこのアプリ開発奮闘記

アプリ開発で得た知見を共有していきます。なるべく文章が堅くならないように意識しています。

【PHP】Sailに出会いました

What is Sail?

~~~sailに出会うまでの経緯~~~
うーん、スタートアップ支援のためでLaravelを使うことになったけど環境どうしよう?Dockerで開発したいけどcomposerを入れてローカルに作るのが定石っぽい...うん、公式を見よう!

インストール 8.x Laravel

curl -s "https://laravel.build/example-app" | bash
cd example-app

./vendor/bin/sail up

docker環境があればこのコマンドを使うだけで開発環境ができると…fmfm.
docker環境はあるのでサクッと実行!

f:id:keko5342:20211129032338p:plain

なにやら沢山出てきましたがほとんどconfigファイルとLaravelのファイルの様子。docker-composeを実行してmysqlやらradisの環境をLaravelと一緒に作ってくれる感じ、とても便利。

もう少し調べてみる

mailhogは使わないし要らないやって場合は docker-compose.yml の該当範囲をコメントアウト.
mysql等の初期パスワードや初期ユーザは環境変数を格納している .env ファイルを触る.

と、これは開発環境だけでなくstg環境や本番環境を想定した作り!素晴らしい!

もうちょっと便利に

sailを ./vendor/bin/sail と書き続けるのは面倒臭い...

alias sail="./vendor/bin/sail"

ということで、~/.zshrcエイリアスを追記。これでsailと打つだけで良くなった!

終わり

sail build sail upみたいな感じでdocker composeと同じコマンドを使えることがわかった。

とても便利だけどこれだとcomposeとあまり変わらないような...?と思っていたんですが、WWWGroup, WWWUserあたりの環境変数を補完してくれるっぽい。docker compose build --no-cacheで出ていたWWWGroupが無いというエラーがsail build --no-cache では解消されていました。

もっと便利機能がある予感...また調べてみようとおもいます!では!