CI/CD: Simplificando Fluxo
All checks were successful
Deploy WiFi-ETL Prod / deploy (push) Successful in 1m4s

This commit is contained in:
Rafael Alves Lopes 2026-04-22 17:10:14 -03:00
parent e4a2bb7f18
commit 3b53a0cee1

View File

@ -12,18 +12,11 @@ jobs:
steps: steps:
- name: Clone/Update código - name: Clone/Update código
run: | run: |
mkdir -p /opt/wifi-etl if [ -d /opt/wifi-etl/.git ]; then
cd /opt/wifi-etl cd /opt/wifi-etl && git pull origin main
if [ -d .git ]; then
echo "Atualizando código..."
git pull origin main
else else
echo "Clonando projeto..." git clone http://10.0.120.75:3030/SEU_USUARIO/wifi-etl.git /opt/wifi-etl
git clone https://seu-gitea.com/seu-usuario/wifi-etl.git /opt/wifi-etl
cd /opt/wifi-etl
fi fi
echo "✓ Código atualizado" echo "✓ Código atualizado"
- name: Copiar .env - name: Copiar .env
@ -34,20 +27,7 @@ jobs:
- name: Build e deploy container - name: Build e deploy container
run: | run: |
cd /opt/wifi-etl cd /opt/wifi-etl
docker-compose -f infra/docker-compose.yml up -d --build
# Tentar com docker compose (v2)
if command -v docker &> /dev/null && docker compose version &> /dev/null; then
echo "Usando docker compose v2..."
docker compose up -d --build
# Fallback para docker-compose (v1)
elif command -v docker-compose &> /dev/null; then
echo "Usando docker-compose v1..."
docker-compose -f infra/docker-compose.yml up -d --build
else
echo "✗ Nem docker compose nem docker-compose encontrado"
exit 1
fi
echo "✓ Container iniciado" echo "✓ Container iniciado"
- name: Aguardar inicialização - name: Aguardar inicialização
@ -55,42 +35,28 @@ jobs:
- name: Validar saúde - CRON - name: Validar saúde - CRON
run: | run: |
echo "--- Verificando CRON ---"
docker exec wifi_etl_worker ps aux | grep cron || echo "⚠ Cron pode não estar rodando" docker exec wifi_etl_worker ps aux | grep cron || echo "⚠ Cron pode não estar rodando"
- name: Validar saúde - Database - name: Validar saúde - Database
run: | run: |
echo "--- Verificando conexão com banco ---"
docker exec wifi_etl_worker python3 << 'PYEOF' docker exec wifi_etl_worker python3 << 'PYEOF'
import psycopg2 import psycopg2, os, sys
import os
import sys
try: try:
conn = psycopg2.connect( conn = psycopg2.connect(
host=os.getenv('DB_HOST'), host=os.getenv('DB_HOST'),
port=int(os.getenv('DB_PORT', '5432')), port=int(os.getenv('DB_PORT', 5432)),
dbname=os.getenv('DB_NAME'), dbname=os.getenv('DB_NAME'),
user=os.getenv('DB_USER'), user=os.getenv('DB_USER'),
password=os.getenv('DB_PASSWORD'), password=os.getenv('DB_PASSWORD')
connect_timeout=5
) )
cur = conn.cursor() print("✓ Banco conectado")
cur.execute("SELECT version();")
version = cur.fetchone()[0]
print(f"✓ Banco de dados conectado")
print(f" {version[:60]}")
cur.close()
conn.close() conn.close()
except Exception as e: except Exception as e:
print(f"✗ Erro de conexão: {e}") print(f"✗ Erro: {e}")
sys.exit(1) sys.exit(1)
PYEOF PYEOF
- name: Verificar logs iniciais - name: Verificar logs iniciais
if: always() if: always()
run: | run: |
echo "--- Últimos logs do container ---" docker logs --tail 20 wifi_etl_worker || true
docker logs --tail 20 wifi_etl_worker || true