Ho iniziato a lavorare con GitLab CI usando gitlab-ci-multi-runner per Windows (64 bit). Finora tutto funziona bene, ci sono connessioni ai miei repository e i miei lavori configurati vengono avviati su ogni push.Come eseguire i test automaticamente in GitLab CI usando gitlab-ci-multi-runner
Quello che voglio fare ora è avere un lavoro che va npm install
per scaricare tutte le dipendenze e un lavoro che esegue tutte le mie prove scritte con il karma/gelsomino eseguendo karma start karma.conf.js
o utilizzando grugnito e funzionante grunt test
.
Così il primo lavoro che ho provato era:
cd app
npm install
karma start karma.conf.js
I primi due comandi vengono eseguiti, ma l'ultimo è completamente ignorato. Così ho provato a dividere i lavori. Il primo ai comandi ottiene il proprio lavoro (scheda "Esegui in parallelo") e l'ultimo è stato spostato sul proprio lavoro nella scheda "Esegui in caso di successo". Ora tutte le dipendenze vengono installate e viene avviato il secondo lavoro. Fin qui tutto bene, ma il secondo lavoro inizia con la rimozione di tutte le dipendenze precedentemente installate e poi tenta di eseguire karma start karma.conf.js
. Questo ovviamente finisce con il fallimento di tutti i test perché la dipendenza "nock-angock" non è stata scaricata. Se aggiungo npm install
al secondo lavoro (che non ha molto senso per me), l'attività karma verrà ignorata di nuovo.
Qual è il problema qui? Come posso risolvere questo? E c'è un modo per non scaricare sempre tutte le dipendenze su ogni esecuzione del test?
Avete mai avuto modo di funzionare con '.gitlab-ci.yml' per caso? – montrealist
Sì! Funziona perfettamente ora :)! Pubblicherò la mia soluzione qui sotto. – error1337