2017-03-08 1 views
0

Ich habe TeamCity eingerichtet, um einige Visual Studio-Lösungen zu erstellen und sie in ein Artefakt zu verpacken. Dies funktioniert die meiste Zeit gut.TeamCity baut manchmal falsch

Hin und wieder jedoch (vielleicht 1 von 100 Builds), laufen die von TeamCity erstellten Dateien nicht. In unserem Code verwenden wir eine Vielzahl von Dependency-Injections, und manchmal kann unsere Anwendung nicht starten, weil sie die richtigen Abhängigkeiten in den Dateien nicht finden kann. Es gibt jedoch keine fehlenden Dateien im Artefakt.

Dann zwingen wir TeamCity, alles noch einmal zu erstellen (indem wir eine neue Zeile zu einer Datei hinzufügen und sie committen), und plötzlich startet unsere Anwendung erneut.

Es ist dann für mich offensichtlich, dass es etwas gibt, das TeamCity nicht korrekt erstellt hat, obwohl ich nicht herausfinden kann, was es ist, da alle Build-Protokolle keine Fehler oder Warnungen irgendeiner Art melden.

Was kann dieses seltsame Verhalten verursachen und was kann ich tun, um zu verhindern, dass es in der Zukunft passiert (oder was kann ich aktivieren, um eine umfangreichere Protokollierung zu erhalten, um herauszufinden, was passiert, wenn es fehlschlägt)?

+3

TeamCity führt den Build nicht selbst aus, sondern delegiert dies an die spezifischen Build-Tools. Davon abgesehen, warum nicht alle Artefakte eines funktionierenden und eines kaputten Builds vergleichen? Ihr Problem kann auch ein Bereitstellungsproblem oder ähnliches sein ... – Lucero

Antwort

0

Überprüfen Sie die Fehler, wenn Team City nicht ausgeführt wird. Sag es, warum es nicht laufen kann? Manchmal hat Team City einen Build scheitern lassen, weil das Versionskontrollsystem einen Schluckauf hatte. Aufgrund des Fehlers in Team Citys Log kann es offensichtlich sein, dass es nur deswegen war. Wenn Sie keine sauberen Builds erstellen, sollten Sie dies tun und prüfen, ob die zeitweiligen Probleme verschwinden.

+0

Team City wird immer ausgeführt. Das Problem ist nicht, dass TC nicht ausgeführt wird, sondern dass die Dateien, die kompiliert werden, eine gewisse Verfälschung aufweisen, was dazu führt, dass die Anwendung, die TC erstellt, nicht ausgeführt wird. Wenn das passiert, zwinge ich TC einfach alles neu zu machen, immer noch ohne Fehler, aber dann fängt die Anwendung plötzlich wieder an zu arbeiten (selbst wenn es keine Änderungen am Code gibt). – GTHvidsten

+0

Aktivieren Sie "Alle Dateien im Checkout-Verzeichnis vor dem Build bereinigen"? Ich würde das versuchen und sehen, ob es das Problem verschwinden lässt. – hyprsleepy

Verwandte Themen