J'ai toujours travaillé avec la construction d'intégration continue (CI) dans TFS. Cependant, dans mon dernier projet, nous avons commencé à utiliser le déclencheur d'enregistrement sécurisé.
Y a-t-il des inconvénients lors de l'utilisation d'un enregistrement sécurisé? Parce que si cela empêche l'équipe de vérifier le code cassé, à quoi sert un déclencheur CI?
L'enregistrement sécurisé est une forme de build d'intégration continue. Dans TFS, il crée un shelveset contenant le code en cours de validation, puis exécute une génération de ce code. Ce n'est que si ce code se construit correctement et que tous les tests unitaires configurés réussissent que le code est réellement validé.
L'intégration continue est différente - dans CI, le code est validé quel que soit le résultat de la génération. Si une génération de CI échoue en raison de la validation d'un mauvais code, le code est toujours là, dans le contrôle de code source, accessible à tous.
Maintenant, pour la partie basée sur l'opinion: l'enregistrement sécurisé est idéal si vous avez un grand nombre de développeurs de différents niveaux de compétence/expérience, car il empêche le code cassé d'entrer dans le contrôle de code source. L'inconvénient est qu'il augmente le temps entre la validation du code et la disponibilité du code pour les autres, et peut ainsi conduire à des situations où les gens sont assis autour de leurs pouces en attendant que la construction se termine avec succès.
Je vous recommande d'utiliser l'enregistrement sécurisé comme point d'arrêt. Si vous avez une tonne de construction d'archivage fermée qui échoue, alors il fait son travail et empêche le mauvais code d'être validé. Si, au fil du temps, l'équipe arrive à maturité et que les versions d'enregistrement bloquées échouent rarement, cela sert moins à rien et devrait être basculé vers une intégration continue et corriger les versions défaillantes au fur et à mesure, au lieu de retarder chaque validation dans le cas où il y aurait un problème. .
Les enregistrements bloqués rendent l'engagement plus difficile et plus lent. C'est généralement une chose mauvaise, car:
Donc, les scénarios où la vérification fermée est correcte: