CI/CD: Simplificando Fluxo
All checks were successful
Deploy WiFi-ETL Prod / deploy (push) Successful in 1m4s
All checks were successful
Deploy WiFi-ETL Prod / deploy (push) Successful in 1m4s
This commit is contained in:
parent
e4a2bb7f18
commit
3b53a0cee1
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user