Script de Deploy para Laravel
#!/bin/bash
set -e
cd paxlife || exit
MAINTENANCE_MODE=false
cleanup() {
if $MAINTENANCE_MODE && [ -f artisan ]; then
echo "🚀 Retirando aplicação do modo manutenção..."
php artisan up
fi
}
trap cleanup EXIT
echo "🗄️ Arquivando log atual..."
cp storage/logs/laravel.log storage/logs/laravel-$(date +%Y%m%d-%H%M%S).log
echo "🧹 Limpando log..."
truncate -s 0 storage/logs/laravel.log
echo "♻️ Excluindo logs antigos..."
find storage/logs -name "*.log" -type f -mtime +30 -delete
echo "📥 Atualizando repositório..."
git checkout main
git fetch origin
git reset --hard origin/main
echo "🚧 Colocando aplicação em manutenção..."
php artisan down
MAINTENANCE_MODE=true
echo "📦 Instalando dependências PHP..."
composer install \
--no-dev \
--optimize-autoloader \
--no-interaction \
--prefer-dist
echo "📦 Instalando dependências Node..."
npm ci --no-audit --no-fund
echo "📊 Memória antes do build:"
free -h
echo "🏗️ Buildando frontend..."
NODE_OPTIONS="--max-old-space-size=768" npm run build
echo "📊 Memória após o build:"
free -h
echo "🪄 Atualizando banco de dados..."
php artisan migrate --force
echo "🧹 Limpando caches..."
php artisan optimize:clear
echo "♻️ Recriando caches..."
php artisan config:cache
php artisan route:cache
php artisan view:cache
echo "✅ Deploy concluído com sucesso!"
Galeria de Imagens
Compartilhe esta dica
Envie esta dica diretamente para o e-mail de um colega desenvolvedor.