LaravelとLaradockを使ったチームでの開発環境を用意する vol.2
~Laravelインストール編~
こんにちは、Dev.Satsukiです。
この記事は前回の続きですので、まだ見ていない方はまず前回記事を確認してくださいね
LaravelとLaradockを使ったチームでの開発環境を用意する vol.1 ~Laradock設定編~
前回記事が文章多すぎて自分で読み返して辛かったので、今回はシンプルに要点だけまとめるようにします。
ちょっとは読みやすくなるといいなぁ…
前回やったこと
- プロジェクト用のディレクトリ作成
- Laradock設定ファイル作成
- ローカル環境を設定するためのshell script作成
- ローカル開発環境用のDocker起動 停止
今回やること
- Laradockでよく使うコマンドの確認
- Laravelのをインストール
- Laravelの設定
- 各ローカルサーバーへのアクセス
- laravel設定ファイルの配布準備
Docker操作に使うコマンド
//これらのコマンドはlaradockのインストールされているディレクトリで使います
// 起動 (nginx等は使いたい環境ごとに変更してください)
docker-compose up -d nginx postgres workspace redis
// 停止
docker-compose stop
// サーバーへの接続
docekr-compose exec image_name bash
Laravelのインストール
// workspaceにアクセス
docker-compose exec workspace bash
// ディレクトリを確認
ls
lsコマンドの結果がカラならOKです
ここはローカルPCのyour_laravel_projectの中身と同期しているはずです
もしここでファイルがすでに存在するようなら、.envファイルの以下の項目を見直してください
APP_CODE_PATH_HOST=
// workspaceマシン内で
composer create-project --prefer-dist laravel/laravel ./
補足:workspaceについて
Laradockでは、Laravelのインストール・操作用のマシンがworkspaceとして用意されています。
php artisanやcomposerのコマンドを使う場合はworkspace上で行いましょう。
Laravelの設定
Laravel側の.envファイルを編集します。
デフォルトの.envファイル内のDB_HOST等を書き換えます
DB_HOSTの値などは、docker-compose.ymlのvolumesの値を設定します
volumes:
mysql:
driver: ${VOLUMES_DRIVER}
percona:
driver: ${VOLUMES_DRIVER}
mssql:
driver: ${VOLUMES_DRIVER}
postgres:
driver: ${VOLUMES_DRIVER}
memcached:
driver: ${VOLUMES_DRIVER}
redis:
driver: ${VOLUMES_DRIVER}
neo4j:
driver: ${VOLUMES_DRIVER}
mariadb:
driver: ${VOLUMES_DRIVER}
mongo:
driver: ${VOLUMES_DRIVER}
minio:
driver: ${VOLUMES_DRIVER}
rethinkdb:
driver: ${VOLUMES_DRIVER}
phpmyadmin:
driver: ${VOLUMES_DRIVER}
adminer:
driver: ${VOLUMES_DRIVER}
aerospike:
driver: ${VOLUMES_DRIVER}
caddy:
driver: ${VOLUMES_DRIVER}
elasticsearch:
driver: ${VOLUMES_DRIVER}
DB_PASSWORDなどは、Laradockディレクトリの.envに記載されている内容を設定します。
### MYSQL #################################################
MYSQL_VERSION=latest
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
設定が完了したら、次のステップに移ります。
正しく動作しているかなどは、migrateが上手く走るかどうかなどで確認してください。
php artisan migrate
各ローカルサーバーへのアクセス
では、起動した各サーバーにアクセスしてみます
// target_serverを適宜変更してください
docker-compose exec target_server bash
たとえば、postgresサーバーにアクセスする場合は以下のようになります
// target_serverを適宜変更してください
docker-compose exec postgres bash
Laravel設定ファイルの配布準備
前回使った.shディレクトリにLaravelの.envを設置して、チームメンバーが簡単に設定を完了できるようにします。
.laravel-envファイルを以下の場所に作成します。
your-project/.sh/conf/.laravel-env
続いて、前回作成したsetup.shを更新します。
SCRIPT_DIR=$(cd $(dirname $0); pwd)
cd $SCRIPT_DIR
cp -f conf/.laradock-env ../laradock-your_project/.env
cp -f conf/.**laravel**-env ../your_laravel_project/.env
最終的には.shディレクトリはこんな感じになります
ココまでで今回の作業は終わりです。おつかれさまでした。
まとめ ココまででやったこと
- プロジェクト用のディレクトリ作成
- Laradock設定ファイル作成
- ローカル環境を設定するためのshell script作成
- ローカル開発環境用のDocker起動 停止
- Laradockでよく使うコマンドの確認
- Laravelのをインストール
- Laravelの設定
- 各ローカルサーバーへのアクセス
- laravel設定ファイルの配布準備
ここまでくれば、自分のPCにはLaradockの開発環境がすでに存在しているハズです。
次回記事はチームメンバーがローカル環境をセットアップする場合の手順についてです。