概要
- dockerを使ったローカル開発環境の構築だとしても、いくつかのコマンドを実行する必要がある。その手間を2つのアプローチでコマンドをまとめて解決してみようと思う
完成したもの
前提
- 今回環境構築時のコマンドをまとめるために使用するDocker環境は下記で.envを外出ししたものを使用する。
まとめたいコマンド
-
今回例に上げるlaravelのローカル開発環境構築時にgit cloneとは別に下記のコマンド実行が必要になる。
$ docker-compose up -d --build $ docker-compose exec php composer install $ docker-compose exec php cp .env.example .env $ docker-compose exec php php artisan key:generate $ docker-compose exec php php artisan migrate -
上記5コマンドを一つにまとめたい。
方法その1 (shellスクリプトの使用)
-
docker-compose.ymlファイルと同じ階層に下記のshellスクリプトファイルを用意する。
install.sh#!/bin/bash docker-compose up -d --build docker-compose exec php composer install docker-compose exec php cp .env.example .env docker-compose exec php php artisan key:generate docker-compose exec php php artisan migrate -
記載が終わったら下記コマンドを実行してinstall.shの権限を変更する。
$ sudo chmod 755 install.sh -
下記コマンドを実行してスクリプトファイルを実行する。(コマンドの最後の
1>&2エラーも標準出力に出してくれるおまじないです。)$ ./install.sh 1>&2
方法その2 (Makefileの使用)
※こちらの知見は同じプロジェクトに参画されているエンジニアさんから教えていただいたものです。
-
docker-compose.ymlファイルと同じ階層に下記のMakefileを用意する。
.PHONY: install install: docker-compose up -d --build docker-compose exec php composer install docker-compose exec php cp .env.example .env docker-compose exec php php artisan key:generate docker-compose exec php php artisan migrate -
下記コマンドを実行する。
$ make install