-
Notifications
You must be signed in to change notification settings - Fork 0
Dev Ops

Il continuous integration è stato realizzato tramite TravisCI. La configurazione è contenuta all'interno della repo nel file .travis.yml.
Il sistema si basa su un file docker-compose che genera un container usato come database per il test. Successivamente viene fatto partire il server node all'interno della macchina virtuale di travis. L'applicativo viene eseguito in modalità di testing, per questo motivo viene letto il file di configurazione per il testing.
L'applicativo si connetterà al database dentro il container ed eseguirà i relativi test. Nel caso in cui i test vadano a buon fine il CI finisce con esito positivo.
Abbiamo deciso di far partire i test di CI solamente in caso di commit nei branch master o staging, questa scelta è dovuta alla possibilità che negli altri branch non siano presenti i test (o comunque che lo siano ma non ancora completi).
Il continous deployment è stato realizzato tramite TravisCI. La configurazione è contenuta all'interno della repo nel file .travis.yml.
Nel caso il commit sia stato eseguito su master e i test siano andati a buon fine Travis si occuperà di generare un container production per poi poi effettuare un'operazione di push su server Heroku. Tutte le variabili d'ambiente necessarie per queste operazioni sono salvate tramite le impostazioni di Travis stesso.
Abbiamo deciso di sfruttare l'hosting gratuito di MongoDB Atlas per l'istanza del database MongoDB.
Una volta effettuata l'operazione di push su Heroku verrà rigenerato il container per l'applicativo che servirà il nostro servizio. La comunicazione con il database è stata configurata tramite variabili d'ambiente di Heroku.