Progettazione e configurazione di una pipeline CI/CD
View/ Open
Author
Parodi, Christian <2000>
Date
2023-09-15Data available
2024-02-15Abstract
In questa tesi, ci concentriamo sul dominio DevOps con l'obiettivo di soddisfare una richiesta dell'azienda Gruppo SIGLA. La richiesta riguarda lo sviluppo di una pipeline CI/CD progettata per essere attivata da diversi trigger, come push e merge, all'interno di un progetto fullstack. Il progetto comprende un frontend Angular, un backend ASP.NET, un database SQLite e l'autenticazione gestita tramite Keycloak. La pipeline avrà una sequenza di passi da eseguire. Inizierà con l'esecuzione dei controlli di qualità del codice, seguendo le specifiche definite dal Gruppo SIGLA, che saranno specificate in un file di configurazione. Successivamente, la pipeline procederà con la fase di compilazione, durante la quale verrà compilato il codice sorgente. Verranno eseguiti anche dei test automatici, se definiti, per garantire la validità del codice. Una fase successiva consisterà nella creazione di immagini Docker, che consentiranno di isolare e distribuire gli elementi del progetto in ambienti controllati. Infine, la pipeline eseguirà il deployment, assicurando che le ultime versioni del frontend, del backend e del database siano correttamente distribuite ed eseguite nei rispettivi ambienti. Attraverso questa pipeline CI/CD, ci proponiamo di automatizzare e semplificare il processo di sviluppo, controllo qualità, test e deployment di un progetto fullstack, rispondendo così alle esigenze e agli obiettivi del business del Gruppo SIGLA. In this thesis, we focus on the DevOps domain with the goal of fulfilling a request from the Gruppo SIGLA company. The request involves the development of a CI/CD pipeline designed to be triggered by different triggers, such as push and merge, within a fullstack project. The project includes an Angular frontend, an ASP.NET backend, a SQLite database, and authentication managed through Keycloak. The pipeline will have a sequence of steps to execute. It will start with the execution of code quality checks, following the specifications defined by Gruppo SIGLA, which will be specified in a configuration file. Next, the pipeline will proceed with the build phase, during which the source code will be compiled. Automated tests, if defined, will also be performed in order to ensure the validity of the code. A next step will consist of the creation of Docker images, which will allow the project elements to be isolated and deployed in controlled environments. Finally, the pipeline will perform the deployment, ensuring that the latest versions of the frontend, backend, and database are properly deployed and running in their respective environments. Through this CI/CD pipeline, we aim to automate and simplify the process of fullstack project development, quality control, testing, and deployment, thereby meeting the needs and goals of the Gruppo SIGLA business
Type
info:eu-repo/semantics/bachelorThesisCollections
- Laurea Triennale [2336]