Nous utilisons TeamCity pour une intégration continue et Git pour le contrôle de source. Généralement cela fonctionne plutôt bien - pratique, moderne et bon nous feedback rapide lorsque les tests échouent.TeamCity et la validation de la branche de fusion Git en attente conserve la construction avec des tests ayant échoué
Il existe un comportement étrange lié aux spécificités de fusion Git. Voici les étapes de l'affaire:
- Le premier développeur tire à partir du repo maître.
- Le deuxième développeur tire à partir du repo maître.
- Le premier développeur effectue un commit A localement.
- Le deuxième développeur effectue la validation B localement;
- Le deuxième développeur appuie sur la validation B.
- Le premier développeur souhaite pousser le commit A mais ne peut pas le faire car il doit d'abord tirer le commit B.
- Premier développeur tire de la redéposition à distance.
- Le premier développeur pousse la validation A et la validation de la branche de fusion générée.
L'histoire de commits en repo maître est le suivant:
- B second développeur
- Un premier développeur
- branche de fusion premier développeur.
Maintenant, supposons que deuxième développeur a corrigé quelques tests ayant échoué dans son engagement B.
Qu'est-ce que TeamCity fera est le suivant:
- Engagez B arrive - TeamCity fait construire # 1 avec tous les tests passé
Commit A arrive - TeamCity fait que la barre de test # 2 (sans validation B) devient rouge! TeamCity a pensé que la validation "Merge Branch" en attente ne contient aucune modification (aucun nouveau fichier) - mais elle contient en fait la fusion de la validation B, donc TeamCity ne veut pas faire de nouvelle construction ici et faire des tests verts.
Voici deux problèmes: 1. Dans notre cas, nous avons échoué des tests de retour en arrière dans la deuxième commit (validation A) 2. TeamCity ne veux pas faire une nouvelle construction et faire des tests dos vert.
Est-ce que quelqu'un sait comment résoudre ces deux problèmes.
Je considère une approche générale raisonnable.
avez-vous essayé de demander JetBrains à ce sujet? –
Il existe peu de problèmes similaires. On dirait que voici le plus proche - http://youtrack.jetbrains.net/issue/TW-9584 – Vladimir
«Les gars, Je crois que le problème n'est pas réel dans TeamCity 5.0.3 (et dans les EAP 5.1). Si vous rencontrez le problème (TeamCity n'affiche pas les validations de fusion avec 0 fichier modifié), assurez-vous de ne pas utiliser de plugin git plus ancien (.BuildServer/plugins ne doit pas avoir jetbrains.git.zip). Si vous utilisez TeamCity 5.0.3 ou 5.1 EAP, s'il vous plaît ajouter un commentaire ici. » – Vladimir