Atualiza scripts de deploy para carregar variáveis de ambiente do .env e reiniciar processos PM2 com atualização de ambiente

This commit is contained in:
2026-04-24 18:33:55 -05:00
parent 163b89aca5
commit 07278e0ae3
2 changed files with 16 additions and 8 deletions

View File

@@ -23,9 +23,12 @@ deploy_project() {
cd "$project_dir" cd "$project_dir"
# Mantém .env existente # Carrega o .env do projeto
if [ -f "$project_dir/.env" ]; then if [ -f "$project_dir/.env" ]; then
echo " → .env encontrado, mantendo..." echo " → .env encontrado, carregando..."
set -a
source "$project_dir/.env"
set +a
fi fi
# Instala dependências # Instala dependências
@@ -46,12 +49,11 @@ deploy_project() {
# PM2: reinicia se já existe, senão cria # PM2: reinicia se já existe, senão cria
if pm2 describe "$project" > /dev/null 2>&1; then if pm2 describe "$project" > /dev/null 2>&1; then
echo " → Reiniciando processo PM2..." echo " → Reiniciando processo PM2..."
pm2 restart "$project" pm2 restart "$project" --update-env
else else
echo " → Criando processo PM2..." echo " → Criando processo PM2..."
pm2 start dist/main.js \ pm2 start dist/main.js \
--name "$project" \ --name "$project" \
--env production \
-- --port "$port" -- --port "$port"
fi fi
@@ -113,4 +115,4 @@ for project_dir in "$PROJECTS_DIR"/*/; do
port=$(cat "$project_dir/.port" 2>/dev/null || echo "?") port=$(cat "$project_dir/.port" 2>/dev/null || echo "?")
echo " ✓ /$project → localhost:$port" echo " ✓ /$project → localhost:$port"
done done
echo "================================================" echo "================================================"

View File

@@ -47,13 +47,19 @@ location /${project}/ {
EOF EOF
fi fi
# Carrega o .env do projeto
if [ -f "$project_dir/.env" ]; then
set -a
source "$project_dir/.env"
set +a
fi
# Sobe no PM2 se não estiver rodando, senão reinicia # Sobe no PM2 se não estiver rodando, senão reinicia
if pm2 describe "$project" > /dev/null 2>&1; then if pm2 describe "$project" > /dev/null 2>&1; then
pm2 restart "$project" pm2 restart "$project" --update-env
else else
pm2 start "$project_dir/dist/main.js" \ pm2 start "$project_dir/dist/main.js" \
--name "$project" \ --name "$project" \
--env production \
-- --port "$port" -- --port "$port"
fi fi
else else
@@ -74,4 +80,4 @@ echo " Stack pronta!"
echo " Acesse: http://${DOMAIN:-localhost}/<projeto>" echo " Acesse: http://${DOMAIN:-localhost}/<projeto>"
echo "================================================" echo "================================================"
pm2 logs --raw pm2 logs --raw