Vai al contenuto

Guida al Deployment

Ambienti

Ambiente Infrastruttura URL Base Deploy
Development Docker locale (sgv2-docker) http://localhost:8080 Manuale (copia WAR)
Staging Docker remoto (develop-thincool) https://develop-thincool/ Manuale (SCP + WAR)
Production WildFly cluster https://sgv.comune.*.it Manuale (approvazione richiesta)

Deploy Locale (Docker)

Prerequisiti

# Verifica che Docker sia attivo
docker ps

# Verifica ambiente sgv2-docker
cd ~/vscode-projects/sgv2-docker
make help

Avvio Ambiente

cd ~/vscode-projects/sgv2-docker

# Prima volta: copia configurazione
cp sample.env .env
# Edita .env con le tue impostazioni

# Avvia tutti i servizi
make start

# Verifica stato
docker-compose ps

Deploy di un Modulo

# 1. Build
cd ~/vscode-projects/sgv-ge.co
cd GeCo.Alfa && mvn clean package && cd ..

# 2. Deploy (copia WAR nel container)
cp GeCo.Alfa/target/GeCo.Alfa.war \
   ~/vscode-projects/sgv2-docker/be-geco/deployments/

# 3. Verifica (WildFly auto-deploya in ~5 secondi)
cd ~/vscode-projects/sgv2-docker
docker-compose logs -f be-geco

Mapping Moduli -> Container

Modulo Container Directory WAR
GeCo.Alfa be-geco be-geco/deployments/ GeCo.Alfa.war
GecoService geco-service geco-service/deployments/ GecoService.war
ElaborazioneService be-elb be-elb/deployments/ ElaborazioneService.war
ConnessioneService fe-con fe-con/deployments/ ConnessioneService.war
OtticoService be-ott be-ott/deployments/ OtticoService.war
MobileFineAdapter be-mobile be-mobile/deployments/ MobileFineAdapter.server.war

Endpoint Locali

Servizio URL
GeCo.Alfa UI http://localhost:8080/GeCo.Alfa
GecoService API http://localhost:8080/GecoService/rest
ElaborazioneService http://localhost:8080/ElaborazioneService
ConnessioneService http://localhost:8080/ConnessioneService
REST Quarkus http://localhost:8082/api
MobileFine API http://localhost:8083/mobile/api
PostgreSQL localhost:5432
PgAdmin http://localhost:5050

Fermare Ambiente

cd ~/vscode-projects/sgv2-docker
make stop

# Distruggere completamente (cancella volumi e dati)
make destroy

Deploy Staging

Accesso

ssh ubuntu@develop-thincool
cd ~/verbalia/sgv2-docker

Procedura

# Opzione 1: Build locale + SCP
cd ~/vscode-projects/sgv-ge.co
cd GeCo.Alfa && mvn clean package && cd ..

scp GeCo.Alfa/target/GeCo.Alfa.war \
    ubuntu@develop-thincool:~/verbalia/sgv2-docker/be-geco/deployments/

# Opzione 2: Build remoto
ssh ubuntu@develop-thincool
cd ~/vscode-projects/sgv-ge.co
git pull
cd GeCo.Alfa && mvn clean package && cd ..
cp GeCo.Alfa/target/GeCo.Alfa.war \
   ~/verbalia/sgv2-docker/be-geco/deployments/

Verifica

ssh ubuntu@develop-thincool
cd ~/verbalia/sgv2-docker
docker-compose ps
docker-compose logs -f be-geco

Deploy Produzione

Stato: Non ancora configurato. Deployment pianificato su infrastruttura cliente finale.

Procedura prevista:

  1. Tag versione su Git (v1.0.0)
  2. Build WAR da tag
  3. Approvazione team lead + cliente
  4. Deploy su WildFly cluster di produzione
  5. Smoke test
  6. Verifica logs

Troubleshooting

Container non parte

cd ~/vscode-projects/sgv2-docker
docker-compose logs <service-name>
docker-compose ps

# Restart pulito
make stop && make start

WAR non viene deployato

# Verifica directory deployments nel container
docker-compose exec be-geco ls -la /opt/wildfly/standalone/deployments/

# Verifica logs WildFly
docker-compose exec be-geco tail -f /opt/wildfly/standalone/log/server.log

# Force redeploy
docker-compose exec be-geco rm /opt/wildfly/standalone/deployments/GeCo.Alfa.war.deployed
docker-compose exec be-geco touch /opt/wildfly/standalone/deployments/GeCo.Alfa.war.dodeploy

Errori database

# Connessione diretta a PostgreSQL
docker-compose exec liquidb psql -U sgv_dev -d sgv_dev

# Verifica tabelle
\dt vv_*
\dt vf_*

# Dump database
docker-compose exec liquidb pg_dump -U sgv_dev sgv_dev > backup.sql

Problemi di rete Docker

docker network ls
docker network inspect sgv2-docker_default

# Restart rete
make stop && make start