⛵️
Laravel Sail を使ったチーム開発の始め方
大まかな流れ
Laravel Sail」を使用してチーム開発を行う場合,下記の手順となる.
-
一人の開発者がプロジェクトを作成し,GitHub にソースコードを push する.
-
他の開発者は ↑ で作成された GitHub リポジトリをクローンし,手元で開発をすすめる.
-
クローンした後にいくつかの手順が必要となる.
本記事は,既存のプロジェクトのリポジトリをクローンし,Docker 上で動作させるための手順を記載する.
事前準備
docker が動く状態にしておく.
docker -v
Docker version 20.10.12, build e91ed57
docker-compose -v
docker-compose version 1.26.2, build eefe0d31
curl も必要.
curl --version
curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Release-Date: 2020-01-08
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets
プロジェクトのクローン
git clone REPOSITORY_URL
必要なディレクトリの作成
このまま起動すると必要なディレクト入りがなくてエラーになる.
そのため,下記コマンドを順に実行して必要なディレクトリを作成する.
mkdir -p storage/framework/cache/data/
mkdir -p storage/framework/app/cache
mkdir -p storage/framework/sessions
mkdir -p storage/framework/views
コンテナ動作に必要なファイルをダウンロード & インストール
Laravel Sail の実行に必要な vendor ディレクトリは Git では管理されていない.そのため,コマンドを実行して用意する必要がある.
下記コマンドを実行すると自動的に全部入る.6 行まとめて入力して実行すること.
docker run --rm \
-u "$(id -u):$(id -g)" \
-v $(pwd):/var/www/html \
-w /var/www/html \
laravelsail/php82-composer:latest \
composer install --ignore-platform-reqs
env ファイルの準備
下記コマンドで準備する.
cp .env.example .env
ファイルができたら mysql 設定部分を以下のように編集する.
DB_USERNAME と DB_PASSWORD が DB のアクセス情報となる.phpmyadmin もこの情報でログインすることとなる.
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=プロジェクト作成者のDB名に合わせる
DB_USERNAME=プロジェクト作成者のユーザ名に合わせる
DB_PASSWORD=プロジェクト作成者のパスワードに合わせる
動作確認
下記コマンドでコンテナを立ち上げる
./vendor/bin/sail up -d
立ち上がったら下記コマンドを順に実行し,アプリケーションの準備を整える.
./vendor/bin/sail php artisan key:generate
./vendor/bin/sail php artisan migrate
ブラウザから localhost にアクセスするとアプリケーションの動作が確認できる.
また,localhost:8080 にアクセスすると phpmyadmin にアクセスできる.
コンテナ終了させるときは下記コマンドを実行する.
./vendor/bin/sail down
以上だ( `・ω・)b
Discussion