Linux | |

Gitで初めてのLaravelデプロイ自動化

このブログ Laravel でできてるけど、やっとデプロイ自動化してみた


常にGitリポジトリのmasterブランチにリリースしたいソースが置いてあること前提

プロジェクトのルート以下に deploy ディレクトリを作って、そこに以下のシェルを update.sh として設置し、デプロイしたくなったら叩く

deploy/update.sh
#!/bin/sh
cd `dirname $0`
cd ../

# pull
sudo git fetch
sudo git merge origin/master

# Laravel Mixでlessコンパイルとか
sudo npm run dev

# 何かの拍子に所有権が変わっちゃってたら嫌だから (www-dataはApacheのユーザー)
sudo chown www-data:www-data storage -R

# .envの1行目にCSS等のキャッシュのバージョンを書いてるから現在日時で更新
today=$(date "+%Y%m%d%H%M%S")
sudo sed -i -e "1s/ASSET_VERSION=\(.*\)/ASSET_VERSION=${today}/g" .env

# いろいろ最適化
sudo composer install --optimize-autoloader --no-dev
sudo php artisan config:cache
sudo php artisan route:cache

[2018-11-30] .envを書き換える前に config:cache する大チョンボ修正。

lessのとこ、いま開発環境ではlessのまま読ませてるからここでコンパイルしてる

『いろいろ最適化』のところは↓公式マニュアル参照

こんなでも作業が楽になった~~~👏

ステージ環境? ないよ