Question

L'un des critères du Joel test est construit tous les jours. L'idée est que si la construction est brisé, celui qui a cassé est là pour corriger. Si la construction ne peut pas être fixé, tout le monde devra vérifier une ancienne version et travailler. Je peux comprendre comment cela peut être assez mauvaise sur le contrôle de version centralisée où il est important d'éviter la fusion et la ramification autant que possible, mais cela ne sonne comme une nuisance mineure pour le contrôle de version distribuée. Es-tu d'accord avec ça? Y at-il d'autres raisons pour lesquelles édifie chaque jour sont importants?

Était-ce utile?

La solution

Je pense que ce qui est important de noter ici est que régulière builds aide erreurs de capture plutôt tôt que tard . Il ne Vous pour être tous les jours, mais assez souvent. Idéalement, il peut également exécuter vos tests unitaires.

Le but est de savoir quand une rupture de construction avant la phase finale de test, de les trouver le plus rapidement possible.

Il suffit de le configurer pour construire votre branche principale de développement (es).

Nous l'utilisons au travail (bien que nous construisons toutes les heures), et souvent quand on oublie de mettre en place ce que nous trouvons des problèmes quelques heures avant de le relâcher.

Autres conseils

besoin d'ajouter un peu à ce (et @GoodEnoughs):

  

mais cela ne sonne comme un mineur   nuisance pour la version distribuée   contrôle.

Emphatiquement pas -. Quelle construction fait est vous dire « serveur » que votre tronc va construire et passer ses tests plus ou moins de propre (moins est la quantité de config vous devez faire de votre environnement)

Je contemple un interrupteur à DVCS mais même avoir fait vous glisser mon intégration continue de mes mains mortes froides.

Pour prendre un exemple simple - vous développez fonctionnalité « a » Il développe fonction « b » distribués ou non à un moment donné, vous devez le point tous ensemble - si, lorsque vous vous engagez, vous oubliez d'ajouter un fichier de la l'application va construire sur votre machine, mais il ne sera pas nulle part ailleurs. Ainsi, lorsque vous appuyez sur la construction de votre « tronc » de l'intégration continue et déclenchera la construction échouera et vous saurez et nous espérons que avant quiconque tire votre pas si code complet vous serez en mesure de prendre pas.

Si vous travaillez sur un projet avec plusieurs développeurs vous avez de pouvoir définir où les versions de libération proviennent - le tronc en vigueur -. Cela est vrai, peu importe comment fonctionne votre contrôle de version

Si vous avez ajouté une fonctionnalité - en particulier celui sur lequel d'autres personnes ont une dépendance - pour pouvoir être sûr que quand il est poussé à « vivre » qu'il construit et passe des tests quelque part autre que votre environnement de dev est énorme . Plus que cela, je déploie depuis des constructions de mon serveur de build - genre de la façon dont on précise la construction « définitive ». En fin de compte, je vais avoir déclenché le déploiement utilisateur construit. Son pas bon de dire que vous pouvez travailler autour d'elle - vous ne pouvez pas si vous en avez besoin (et je Vous boîtes rondes dev brouillées dans un bureau pour trouver les fichiers manquants et COMMIT)

.

est-ce que tout un peu fort? Je ne sais pas -. Mais mon serveur de build est l'une de ces choses qui ayant obtenu Je ne veux pas de redonner

Chaque jour, je crois construit sont très importants. Si vous avez une équipe distribuée dans différents fuseaux horaires alors il est préférable de trouver le temps qui est à peu près « fin de journée » pour la plupart de l'équipe. En outre, si le construit tous les jours ont un composant de test automatisé, alors il est plus souhaitable.

Dans les jours des systèmes de contrôle de source centrale, je continue construit prôner courir toutes les 5-10 minutes quand tout est changé dans le code source. Puisque une erreur de compilation a un potentiel de ralentir la majeure partie de l'équipe. Pour les organisations qui gèrent les systèmes de contrôle distribués de source, une continue la construction pourrait ne pas être nécessaire autant puisque les développeurs touchent la « vierge » Base de code directement moins souvent.

Daily construit ne sont pas importants. construit tous les jours qui sont toujours couronnées de succès sont (ou ceux où il est interrompu que pendant une heure). Ayant CI lorsque la construction est cassé 70% du temps est pas très utile, car si la chose est cassé, il ne vous aide pas la plupart du temps à identifier une erreur.

Je pense qu'il devrait être construit tous les jours, tester et déployer au serveur de mise en scène.

L'idée derrière « construire tous les jours » est d'avoir toujours quelque chose de prêt qui testeurs et chefs de projet peuvent fonctionner pour que chacun ait une idée de ce que l'état réel du projet est.

Dans le passé, avec des applications de bureau après une « construction quotidienne » testeur ou gestionnaire de projet peut immédiatement exécuter l'application si aucune étape de déploiement devait être mentionné.

scroll top