Domanda

Abbiamo un assistente di compilazione automatica che si basa il nostro codice di notte, che è utile per noi, visto che non tutti nella nostra squadra può costruire l'intero albero dei sorgenti. Ultimamente, alcuni membri del team stanno diventando sempre più lassista su fissaggio costruire tempestivamente gli errori; a volte settimane passeranno senza un accumulo di successo. Ho anche sentito una sviluppatore dire, "la build è già rotto, ora è un buon momento per aggiungere [qualche cambiamento di rottura]." Dal momento che io lavoro sul codice del più a valle, di solito sto lavorando con parti dell'albero che sono tristemente fuori sincrono con il repository del codice sorgente, il che rende molto difficile per testare i cambiamenti prima che li sottopongo.

Mi sento come se stessimo perdendo la maggior parte del vantaggio di avere un nightly build dal momento che è continuamente spezzato. Sono io fuori strada qui, o dovrebbe fissare l'accumulo essere una priorità più alta?

È stato utile?

Soluzione

Che fissa la nightly build dovrebbe essere la massima priorità. Come lei ha detto, se sono rotte, non hanno alcun valore. Se le persone desiderate effettuare il check in codice che causa la rottura, che dovrebbero fare questo su un ramo e solo fonderlo in quando viene testato.

Altri suggerimenti

Gli sviluppatori hanno chiaramente bisogno di essere preso a calci tornare in forma.

Io suggerirei di costruzione di almeno un paio di volte al giorno, se non su checkin. E una volta che hai un ciclo di accumulo di successo che va ancora una volta, avere un andare (in modo scherzoso) la persona che ha rotto la build -. Quando succede

Tutti hanno bisogno di assumere la proprietà del codice di base e di assumersi la responsabilità.

Per essere onesti, è anche di avere un certo orgoglio nel vostro mestiere. Se in ultima analisi, la gente non frega niente se la build è rotto, e non lo fanno dopo essere stato chiesto di risolvere la questione, sembra che sarebbe meglio fare qualche altro lavoro.

Il più a lungo si mette fuori fissandola, più tempo ci vorrà per risolvere il problema.
Se è risolto immediatamente, le cose che causano essere rotto dovrebbe essere più fresca nella testa di tutti. Rompere le modifiche potrebbero essere accumulando rendendo molto più di un mal di testa per correggere in seguito.

E 'fondamentale per farlo riparare. Più a lungo si mette fuori, più le cose che si sta andando a trovare in seguito. Come può una persona a capire se i loro cambiamenti hanno rotto la build, se non cominciano con una generazione pulita?

Il nostro standard è quello di avere tutti i nostri test unitari e funzionali eseguire "verde" su una scatola di integrazione neutrale dopo un commit. Naturalmente, lo sviluppo test-driven è adatto alla nostra situazione, ma non può andare bene il vostro. Se non sei nemmeno in grado di costruire il progetto, ci sono probabilmente brutte sorprese in agguato nel commit precedenti.

Se è così grande che il tempo necessario per costruirla è in piedi nel modo di ottenerlo fisso, tecniche come la rottura in su in progetti più piccoli e l'integrazione continua può aiutare.

Un mio amico mi ha raccontato la sua squadra che aveva la Zucchini di Doom. Chiunque rompere la nightly build ha dovuto visualizzare lo Zod sulla loro scrivania. Questo ortaggio era in uno stato abbastanza avanzato di decomposizione, che ha inviato il messaggio chiaramente che una build di rotta non era qualcosa da essere tollerato.

Se la squadra non è motivato abbastanza per mantenere l'edificio nightlies allora questo è qualcosa che dovrebbe essere eseguita / incoraggiata dai gestori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top