Il Deploy è una delle fasi terminali di sviluppo di un software. Nello specifico, è il processo attraverso il quale un'applicazione, un sito web o una nuova funzionalità viene resa disponibile e funzionante per gli utenti finali su un ambiente di destinazione, come un server di produzione.
Nel nostro caso, il Deploy avviene in un ambiente virtuale sicuro e isolato, e utilizza le tecnologie dei container di Docker.
Tutto il codice viene mantenuto in un repository Git, che permette scalabilità e un controllo versione più preciso e orientato al DevOps.
Di seguito, un diagramma che rappresenta la gestione dei container Docker, dell'ambiente virtualizzato, delle reti virtuali e del funzionamento del reverse proxy.

L'applicazione è salvata su un server Git personale, accessibile al link git.vps.francescomancuso.it. Sul server, sono stati implementati dei meccanismi di automazione personalizzati che permettono la pubblicazione dell'intera infrastruttura attraverso eventi di push e di merge autorizzati.
La fase di test del frontend avviene attraverso un'Action personalizzata, la quale si occupa direttamente di:
Il deploy del frontend + backend avviene in modo automatico attraverso una seconda Action personalizzata, la quale si occupa di:
Per lo sviluppo del frontend, è stato utilizzato il framework Next.js, basato su Node.js, TypeScript e React. Il database con cui interagisce è MongoDB, di tipo NoSQL.
Il backend invece è stato sviluppato in Java.