Ho un GitLab CI runner che viene eseguito ogni volta che inserisco il codice nel mio ramo. Il problema è: io uso npm + bower per avere tutte le dipendenze di cui ho bisogno, ma non voglio scaricare tutte le dipendenze per ogni test: è uno spreco di rete e tempo.Angularjs + grunt + bower + Gitlab CI. Installazione per il test
Quindi mi sono inventato questo script. Ha senso?
touch ~/.bash_profile
npm config set prefix ~/npm
export PATH="~/npm/bin:$PATH"
source ~/.bash_profile
npm install
rm -f ~/bower/bower.json
cp bower.json ~/bower
pushd ~/bower
bower update
bower install
popd
mkdir bower_components
cp -r ~/bower/bower_components bower_components
grunt test
In ogni caso, un problema che sto affrontando è che va sempre in timeout con pergolato:
bower angular-cookies#1.2.16 ECMDERR Failed to execute "git ls-remote --tags --heads git://github.com/angular/bower-angular-cookies.git", exit code of #128 fatal: unable to connect to github.com: github.com[0: 192.30.252.128]: errno=Connection timed out
Inoltre, non ha finito una volta, quindi non sono sicuro, ma sembra scarica di nuovo tutti i pacchetti ogni volta.
Ho provato a cercare in rete, ma non ho trovato nulla. C'è un modo per ottenere ciò che sto cercando di ottenere? (Anche con una strategia completamente diversa. Ho anche accesso ssh al canale)
Hey, sto cercando di fare la stessa cosa e sto usando anche bower, npm e grunt. Ma per me "npm install" non funziona nemmeno. Si annulla dopo 30 minuti, dicendomi che l'esecuzione del comando ha richiesto troppo tempo. "Npm install" funziona per te senza interruzioni? – error1337
@ error1337 sì, funziona. Alla fine ho adattato la sceneggiatura che ho appena postato come risposta, spero che questo possa aiutare – rpadovani