Question

Nous avons un serveur de build automatisé qui construit notre code de nuit, ce qui est utile pour nous car tout le monde dans notre équipe peut construire l'arbre des sources. Ces derniers temps, certains membres de l'équipe sont de plus en plus laxiste sur la fixation de construire rapidement des erreurs; parfois des semaines vont s'écouler sans construction réussie. Je dis même entendu un développeur, « la construction est déjà cassé, est maintenant un bon moment pour ajouter [un changement de rupture]. » Depuis que je travaille sur le code le plus en aval, je travaille habituellement avec des parties de l'arbre qui sont lamentablement désynchronisés avec le référentiel de code source, ce qui le rend très difficile de tester les modifications avant de les soumettre.

Je me sens comme nous perdre la majeure partie de l'avantage d'avoir une nuit construire car il est sans cesse brisé. Suis-je ici tout à fait farfelu, ou devrait fixer la construction une priorité plus élevée?

Était-ce utile?

La solution

Fixation de la nightly build devrait être la plus haute priorité. Comme vous l'avez dit, si elles sont cassées, ils ont pas de valeur. Si les gens souhaitent vérifier dans le code qui provoque la rupture, ils devraient le faire sur une branche et seulement fusionner quand il est testé.

Autres conseils

Les développeurs ont clairement besoin d'être un coup de pied en forme.

Je vous suggère la construction d'au moins quelques fois par jour, sinon sur checkins. Et une fois que vous avez un cycle de construction réussie va à nouveau, une fois (en plaisantant) à la personne qui a cassé la construction -. Quand il arrive

Tout le monde doit prendre possession de la base de code et prendre la responsabilité.

Pour être honnête, il est aussi d'avoir une certaine fierté dans votre métier. Si, finalement, les gens ne sont pas fous si la construction est cassé, et ils ne le font pas après avoir été invité à faire le tri, il semble qu'ils seraient mieux faire un autre travail.

Plus vous mettez de le fixer, plus il faudra corriger.
Si elle est réparée immédiatement, les choses qui causent à être concassés devraient être plus frais dans la tête de tout le monde. Les modifications récentes pourraient également être entassent ce qui en fait beaucoup plus d'un casse-tête pour fixer plus tard.

Il est essentiel de le faire réparer. Plus vous mettez hors, plus les choses que vous allez trouver plus tard. Comment quelqu'un peut-il savoir si les changements ont cassé la construction, si elles ne commencent pas par une nouvelle génération?

Notre norme est d'avoir tous nos tests unitaires et fonctionnels run « vert » sur une boîte d'intégration neutre après une validation. Bien sûr, le développement piloté par les tests est appropriée à notre situation, mais peut ne pas tenir le vôtre. Si vous n'êtes pas encore en mesure de construire le projet, il y a probablement de mauvaises surprises tapies dans commits précédentes.

S'il est si grand que le temps qu'il faut pour construire se tient dans la façon de se réparer, des techniques comme le découper en petits projets et l'intégration continue peut aider.

Un de mes amis m'a dit au sujet de son équipe qui avait le Courgette de Doom. Toute personne briser la nightly build devait afficher le Zod sur leur bureau. Ce légume était dans un état assez avancé de décomposition, qui a envoyé le message très clairement qu'une accumulation brisée était pas quelque chose à être toléré.

Si l'équipe n'est pas motivé assez pour garder le bâtiment nightlies alors c'est quelque chose qui devrait être appliquée / encouragé par les gestionnaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top