Files
rx.scoreodonto.com/deploy-prod.sh
T

47 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -e
PROD_VPS="10.99.0.1"
PROD_USER="deploy"
PROD_PATH="/home/deploy/stack/rx.scoreodonto.com"
LOG_TAG="[rx.scoreodonto.com]"
echo "========================================================"
echo "$LOG_TAG INICIANDO DEPLOY PARA PRODUCAO (VPS 1)"
echo "========================================================"
echo "$LOG_TAG Atualizando repositório local na VPS 4..."
git fetch origin main
git reset --hard origin/main
echo "$LOG_TAG Transferindo arquivos para VPS 1 via rsync..."
rsync -avz --delete \
--exclude '.git' \
--exclude '.env' \
--exclude 'node_modules' \
--exclude 'uploads' \
--exclude 'processed' \
--exclude 'data' \
--exclude 'dental-server/updates' \
${PROD_PATH}/ \
${PROD_USER}@${PROD_VPS}:${PROD_PATH}/
echo "$LOG_TAG Recriando containers na VPS 1..."
ssh -o BatchMode=yes -o StrictHostKeyChecking=no ${PROD_USER}@${PROD_VPS} "
set -e
cd ${PROD_PATH}
export DOCKER_HOST=unix:///run/user/1000/docker.sock
echo '${LOG_TAG} Recriando imagem com novos arquivos...'
docker compose build app
echo '${LOG_TAG} Subindo novo container sem derrubar o atual...'
docker compose up -d --no-deps app
echo '${LOG_TAG} Container atualizado com sucesso!'
"
echo "========================================================"
echo "$LOG_TAG DEPLOY CONCLUIDO SEM DOWNTIME!"
echo "========================================================"