Uno dei miei ruoli nel mio team è the build person . Sono responsabile del mantenimento / aggiornamento dei nostri script di compilazione e ci assicuriamo che stiamo costruendo "senza problemi" sul server di integrazione continua. Di solito non mi dispiace questo lavoro, anche se spesso mi sento come se fossi costantemente baby sitter il server CI.
Questo lavoro può essere fastidioso a volte, perché se la costruzione si rompe devo lasciare la storia su cui sto lavorando e indagare sul fallimento della build. I fallimenti di build avvengono quotidianamente sul nostro team. A volte gli sviluppatori semplicemente non costruiscono localmente prima di impegnarsi in modo che i test falliscano sul server CI. In questa situazione mi piace arrivare rapidamente alla persona che ha avuto il 'bad commit', quindi la build non rimane rotta troppo a lungo. A volte (molto meno frequentemente) esiste una strana condizione sul server CI che deve essere sottoposta a debug.
So che molti team maturi usano l'integrazione continua ma non c'è molto materiale in merito alle buone pratiche.
I miei problemi sottolineano che la nostra integrazione continua non è molto matura o è semplicemente parte del lavoro?
Quali sono alcune buone pratiche da seguire? Quali sono le caratteristiche di integrazione continua matura ?
Aggiorna
Invece di rispondere ad alcuni commenti, invece, farò un aggiornamento. Abbiamo un unico, semplice comando che fa esattamente ciò che il build server farà quando costruisce l'app. Compilerà, eseguirà tutte le unità / integrazione e alcuni test rapidi basati sull'interfaccia utente.
Leggendo le risposte di tutti, sembra che potremmo avere due problemi principali.
- CI Server non si lamenta abbastanza strong quando una compilazione fallisce.
- Gli sviluppatori non sentono la responsabilità di tutti di assicurarsi che il loro commit vada a buon fine.
Ciò che rende le cose più difficili nella mia squadra è che abbiamo una grande squadra (più di 10 sviluppatori) E abbiamo un paio di membri del team off-shore che commettono quando non siamo nemmeno al lavoro. Poiché la squadra è numerosa e abbiamo stabilito che frequenti, piccoli commetti sono preferiti, a volte abbiamo davvero un sacco di attività in un giorno.