Che cosa significa "Nightly Builds"?


53

Ho usato progetti open source per un po 'e ho sviluppato applicazioni open source e ogni tanto mi capita di trovare le parole "Nightly Build" e sono sempre stato curioso di sapere cosa significhi effettivamente. Significa letteralmente che i progetti vengono eseguiti esclusivamente come progetti collaterali (di solito di notte dopo che tutti hanno terminato il lavoro diurno) e non esiste un vero collaboratore / team di sviluppo dedicato o è più complesso di così?


11
Google ti ha deluso? joelonsoftware.com/articles/fog0000000023.html era piuttosto in cima alla lista. Si prega di aggiornare la tua domanda per identificare cose specifiche mancanti da questo post di blog.
S.Lott

2
@ S. Lott il link che fornisci è piuttosto lungo, è bene avere una versione più corta o una risposta più semplice qui in stack-overflow. Per coloro che volessero saperne di più sull'argomento, consultare il link fornito.
Andrew Lam Yat Weng,

Risposte:


68

No, significa che ogni notte viene costruito tutto ciò che è stato verificato nel controllo del codice sorgente. Quella build è una "build notturna".


13
In genere esiste una macchina che esegue uno script che estrae automaticamente tutte le modifiche dal sistema di controllo versione, compila (costruisce) tutto il codice e quindi lo pubblica da qualche parte per il download o (se si tratta di un sito Web o servizio) lo pubblica in un sistema di test e avviarlo in esecuzione. Un altro nome in cui rientra è Continuous Integration System, anche se ciò potrebbe implicare che venga eseguita una build nel momento in cui viene eseguito qualsiasi commit sul VCS.
CodexArcanum

3
Dovrebbe anche incrementare la versione e timbrare tutto con il numero di versione corretto. Niente è più frustrante che gestire build casuali da programmatori che sono costruite con codice non aggiornato e numeri di versione errati. Una build notturna offre a tutti una build e un numero di versione di cui si possono fidare.
jqa

37

Generalmente significa una build automatizzata che viene eseguita una volta al giorno, in genere dopo la fine della giornata per la maggior parte degli sviluppatori. Per i progetti con sviluppatori in più fusi orari è generalmente un tempo di compromesso. L'idea è che chiunque abbia intenzione di fare il check-in del codice "oggi" lo abbia fatto, e la compilazione automatizzata si assicurerà che tutto si compili, e si spera che esegua i test unitari e tutti gli altri test automatici ecc. Esistenti, quindi produca un programma di installazione finale / eseguibile ecc.


13

Significa una build che viene eseguita alla fine di ogni giorno di sviluppo. Se si utilizza un server di integrazione continua, verrà generalmente configurato per creare il codice ed eseguire i test unitari ad ogni check-in. Alla fine di ogni giorno, è possibile che si desideri eseguire test più estesi, test di regressione e test di integrazione, ad esempio, che impiega troppo tempo per essere eseguito ad ogni check-in e questi verranno attivati ​​dopo la build notturna. Se disponi di una pipeline di distribuzione continua completa , la build notturna può essere utilizzata anche per distribuire il codice creato negli ambienti per i test degli utenti.


7

Il termine viene spesso utilizzato per grandi progetti in cui una ricostruzione completa del prodotto finito dalla fonte impiega troppo tempo perché il singolo sviluppatore faccia questo come parte del normale ciclo di sviluppo.

Invece una ricostruzione completa viene eseguita automaticamente durante la notte, quindi il computer di compilazione ha 8-10-12 ore per eseguire la compilazione e averlo pronto per gli sviluppatori che verranno la mattina successiva, in modo che possano continuare a lavorare sul loro piccolo pezzo in cima della nuova versione.

In questi giorni, è frequente che il progetto includa molti test per garantire il corretto funzionamento del codice, nonché generare e pubblicare documentazione dalla fonte (come javadoc).


0

Le build notturne sono una buona cosa, forniscono feedback immediati agli sviluppatori se hanno rotto la build. Avere una build notturna significa che il software è stabile e può essere sviluppato per i nuovi utenti. È difficile rilasciare software che non viene creato regolarmente.

Citato da: https://chess.eecs.berkeley.edu/softdevel/nightly.htm


4
questo sembra più un commento, vedi Come rispondere
moscerino

mi ricorda i miei giorni di esame, è così che abbiamo usato per iniziare la risposta alle domande. 😂😜
ssi-anik,

Questo spiega ciò che una nightly build è per, ma non spiega che cosa una nightly build è .
Bryan Oakley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.