Que signifie 'Nightly Builds'?

53

Cela fait un certain temps que j'utilise des projets open source et que je développe des applications open source. De temps en temps, je rencontre les mots «Nightly Build» et je suis toujours curieux de savoir ce que cela signifie réellement. Cela signifie-t-il littéralement que les projets sont réalisés uniquement en tant que projets secondaires (généralement la nuit après que tout le monde a terminé son travail de jour) et qu'il n'y a pas de véritable collaborateur / équipe de développement dédiée ou est-ce plus complexe que cela?

Dbramhall
la source
11
Google vous a échoué? joelonsoftware.com/articles/fog0000000023.html était assez haut sur la liste. Veuillez mettre à jour votre question pour identifier les éléments spécifiques manquants dans cet article de blog.
S.Lott
2
@ S.Lott le lien que vous fournissez est assez long, il est bon d'avoir une version plus courte ou une réponse plus simple ici dans stack-overflow. Pour ceux qui veulent en savoir plus sur le sujet peuvent aller au lien que vous avez fourni.
Andrew Lam Yat Weng

Réponses:

68

Non, cela signifie que chaque nuit, tout ce qui a été vérifié dans le contrôle de source est construit. Cette construction est une "construction nocturne".

CaffGeek
la source
13
Il existe généralement une machine exécutant un script qui extrait automatiquement toutes les modifications du système de contrôle de version, compile (construit) tout le code, puis l'envoie quelque part à télécharger ou (si son site Web ou service est) à le publier sur un système de test. et commencez à courir. Un autre nom est celui de Continuous Integration System (système d’intégration continue), bien que cela puisse impliquer qu’une construction est effectuée au moment de la validation du VCS.
CodexArcanum
3
Il faut également incrémenter la version et y apposer le numéro de version correct. Rien n’est plus frustrant que de composer avec des versions aléatoires de programmeurs construites à partir de code obsolète et de mauvais numéros de version. Une construction nocturne donne à chacun une construction et un numéro de version en lequel ils peuvent avoir confiance.
jqa
37

Généralement, cela signifie une génération automatisée qui est effectuée une fois par jour, généralement après la fin de la journée pour la plupart des développeurs. Pour les projets avec des développeurs dans plusieurs fuseaux horaires, il s'agit généralement d'une heure de compromis. L'idée est que tout le monde qui va vérifier dans le code "aujourd'hui" l'a fait, et la construction automatisée s'assurera que tout est compilé, et si tout va bien exécuter les tests unitaires et tous les autres tests automatisés qui existent, puis produira un installateur final / exécutable etc.


la source
13

Cela signifie une construction qui est effectuée à la fin de chaque journée de développement. Si vous utilisez un serveur d'intégration continue, il sera généralement configuré pour générer le code et exécuter les tests unitaires à chaque enregistrement. À la fin de chaque journée, vous voudrez peut-être exécuter des tests plus approfondis, des tests de régression et des tests d'intégration, par exemple: qui prennent trop de temps à exécuter à chaque enregistrement et ceux-ci seraient déclenchés après la construction nocturne. Si vous avez un pipeline de livraison complet en continu , la construction nocturne peut également être utilisée pour déployer le code construit dans des environnements à tester par l'utilisateur.

John Channing
la source
7

Le terme est fréquemment utilisé pour les grands projets où une reconstruction complète du produit fini à partir de la source prend trop de temps pour que le développeur le fasse dans le cadre de son cycle de développement normal.

Au lieu de cela, une reconstruction complète est effectuée automatiquement pendant la nuit, de sorte que l'ordinateur de génération dispose de 8-10 à 12 heures pour le créer et qu'il soit prêt pour les développeurs qui arriveront le lendemain matin, afin qu'ils puissent continuer à travailler sur leur petit fragment individuel en haut. de la nouvelle version.

De nos jours, il est fréquent que le projet comprenne de nombreux tests pour assurer le bon fonctionnement du code, ainsi que pour générer et publier de la documentation à partir de la source (comme javadoc).


la source
0

Les builds nocturnes sont une bonne chose, ils fournissent un feed-back immédiat aux développeurs s'ils cassent la construction. Avoir une construction nocturne signifie que le logiciel est stable et susceptible de l'être pour les nouveaux utilisateurs. Les logiciels qui ne sont pas construits régulièrement sont difficiles à libérer.

Cité de: https://chess.eecs.berkeley.edu/softdevel/nightly.htm

Khaja
la source
4
cela ressemble plus à un commentaire, voir Comment répondre
gnat
Cela me rappelle mes jours d’examen, c’est comme ça que nous commencions à répondre aux questions. 😂😜
ssi-anik
Cela explique ce qu'est une nightly build est pour, mais il n'explique pas ce qu'est une nightly build est .
Bryan Oakley