Files
TDI-Dashboard/Docs/autodeploy.md
T
Luca Banfi cb88fb52f1
ci/woodpecker/push/woodpecker Pipeline failed
woodpecker update
2026-05-18 15:29:48 +02:00

2.7 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

Automatico — tag prod (raccomandato)

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

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

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

Manuale — dal pannello Woodpecker

Apri la pipeline su Woodpecker UI → pulsante "trigger manually". Esegue build + deploy senza bisogno di taggare (utile per test o fix rapidi).


Step della pipeline (.woodpecker.yml)

Step push / PR tag prod manuale Cosa fa
lint flake8 — controlla stile e errori Python
syntax py_compile su tutti i .py
build crea rpa-tdi-dashboard-prod.zip (esclude .env, __pycache__, *.md, ecc.)
deploy 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