Voltar para TechTips
TechTips > DevOps & Ferramentas > AWS Deploy
comando

Script de Deploy para Laravel

14/07/2026 1 visualizações

#!/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!"

#deploy #laravel #aws #linux #ubuntu

Galeria de Imagens

Compartilhe esta dica

Envie esta dica diretamente para o e-mail de um colega desenvolvedor.