Pacchettizzazione e Distribuzione Automatizzata di Software JVM-Based

Sternini, Marco (2024) Pacchettizzazione e Distribuzione Automatizzata di Software JVM-Based. [Laurea], Università di Bologna, Corso di Studio in Ingegneria e scienze informatiche [L-DM270] - Cesena
Documenti full-text disponibili:
[thumbnail of Thesis] Documento PDF (Thesis)
Disponibile con Licenza: Creative Commons: Attribuzione - Non commerciale - Condividi allo stesso modo 4.0 (CC BY-NC-SA 4.0)

Download (806kB)

Abstract

Il software ha assunto un ruolo sempre più pervasivo nella vita quotidiana, portando con sé l'esigenza di sviluppare prodotti di qualità in modo rapido ed efficiente. Nel corso della storia, diverse metodologie di sviluppo si sono susseguite esponendo approcci diversi a un aspetto critico: il ciclo di vita di sviluppo del software (SDLC). Recentemente, è emersa la filosofia "DevOps", la quale ponendo al centro l'automazione, si prefigge di ridurre i tempi di sviluppo e migliorare la qualità del prodotto finale. L'obiettivo principale dell'elaborato è la realizzazione di un processo automatizzato per la distribuzione di un software JVM complesso, Alchemist, partendo dalla sua pacchettizzazione e concludendo con la sua pubblicazione all'interno di repository online per consentire il download agli utenti finali. La realizzazione del processo coinvolge due tecnologie ricorrenti nello sviluppo di software open-source, ossia Gradle come strumento di build automation e GitHub Actions la piattaforma di Continuous Integration Continuous Delivery (CI/CD) utilizzata da Alchemist. L'elaborato illustra l'intero procedimento: dall'analisi, fino al design dei componenti coinvolti e infine il percorso implementativo che ha permesso di sviluppare il processo richiesto. Viene dedicata particolare attenzione alle sfide legate alla pacchettizzazione di software JVM; attraverso un'analisi approfondita degli strumenti disponibili nel panorama attuale, viene individuata la soluzione ottimale per assicurare la creazione di pacchetti di installazione funzionali e consistenti. Infine, si osserva il risultato ottenuto attraverso il confronto dei tempi di esecuzione di diverse versioni della pipeline, per valutare il lavoro svolto ed evidenziare le principali tecniche di ottimizzazione che le API di GitHub Actions consentono di utilizzare.

Abstract
Tipologia del documento
Tesi di laurea (Laurea)
Autore della tesi
Sternini, Marco
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
devops,automazione,jvm,alchemist,distribuzione,GitHub,pacchettizzazione
Data di discussione della Tesi
15 Marzo 2024
URI

Altri metadati

Statistica sui download

Gestione del documento: Visualizza il documento

^