Files
TDI-Dashboard/Docs/autodeploy.md
T
2026-05-18 15:06:58 +02:00

2.4 KiB

RPA Dashboard — Autodeploy con Woodpecker CI

Panoramica

Il deploy avviene automaticamente tramite Woodpecker CI collegato a Gitea. Non serve nessun intervento manuale: basta taggare un commit con prod.


Flusso

push / PR  →  lint + syntax check   (verifica automatica ad ogni commit)

tag prod   →  lint → syntax → build → deploy
                                          └─ estrae i file su /ATG_RUN_TEST/Dashboard
                                          └─ riavvia il container Docker
                                          └─ dashboard live su http://57.131.52.95:8473

Pubblicare una nuova versione

# 1. Commit delle modifiche
git add .
git commit -m "descrizione modifica"

# 2. Spostare il tag prod sul commit corrente
git tag -f prod
git push --force --tags

Woodpecker riceve il webhook da Gitea e avvia la pipeline in automatico.


Step della pipeline (.woodpecker.yml)

Step Trigger Cosa fa
lint push / PR / tag flake8 — controlla stile e errori Python
syntax push / PR / tag py_compile su tutti i .py
build tag prod crea rpa-tdi-dashboard-prod.zip (esclude .env, __pycache__, *.md, ecc.)
deploy tag prod estrae lo zip in /ATG_RUN_TEST/Dashboard, riavvia il container

Infrastruttura

Componente Dettaglio
Forge Gitea (self-hosted)
CI Woodpecker CI — Ubuntu cloud + Docker
VM 57.131.52.95
Porta dashboard 8473
Cartella deploy /ATG_RUN_TEST/Dashboard
Cartella DB /ATG_RUN_TEST/db
Container rpa-dashboard-test

Prerequisiti sulla VM (setup iniziale, una tantum)

# Creare le cartelle
mkdir -p /ATG_RUN_TEST/Dashboard
mkdir -p /ATG_RUN_TEST/db

# Creare il .env con le variabili locali Linux
cat > /ATG_RUN_TEST/Dashboard/.env <<EOF
LOGIN=true
DASHBOARD_USER=TDI_admin
DASHBOARD_PASSWORD=Dashboard_TDI_26!
RPA_REPORT_PORT=8473
EOF

# Copiare i file .db nella cartella db
# es. cp rpa_FORMAZIONE.db /ATG_RUN_TEST/db/

Abilitare i volume mounts nel Woodpecker runner (nel file di config dell'agent):

WOODPECKER_BACKEND_DOCKER_VOLUMES=true

Verifica deploy

# Stato del container
docker ps | grep rpa-dashboard-test

# Log in tempo reale
docker logs -f rpa-dashboard-test

# Riavvio manuale (se necessario)
docker restart rpa-dashboard-test

Dashboard: http://57.131.52.95:8473/login