2008-09-04 3 views
3

Ich habe eine Team Foundation Server 2008-Installation und einen separaten Computer mit dem Team Build-Dienst.Warum wird mein Team Build 2008 nicht auf Entwickler-Check-ins ausgelöst, obwohl CI aktiviert ist?

Ich kann Teambuilds erstellen und manuell in Visual Studio oder über die Befehlszeile (wo sie erfolgreich abgeschlossen werden) auslösen. Beim Einchecken in den Quelltextbaum wird jedoch kein Build ausgelöst, obwohl alle Checks in der Builddefinition aktiviert sind. Update: Um klar zu sein, hatte ich eine voll funktionsfähige Build-Definition mit der CI-Option aktiviert.

Der Quellbaum so konfiguriert ist, ist eine ziemlich geradlinig Weise mit Code entweder unter einem Haupt Ordner oder unter einem Zweig \ branch Ordnern. Jeder Codezweig (einschließlich main) verfügt über eine Standard-Teambuild-Definition, die sich auf die darin enthaltene Lösungsdatei bezieht. Die einzige Sache, die etwas von den Standardeinstellungen geändert wird, ist, dass der Arbeitsordner des Build-Servers; d. h. für main ist dies Server: "$ \ main" Lokal: "c: \ build \ main" aufgrund der Pfadlänge.

Das Einzige, was ich erraten habe (mögliche Ablenkungsmanöver), ist, dass es vielleicht etwas Kurioses in den Entwicklerarbeitsbereichen gibt. Gegenwärtig ordnet jeder Entwickler Server: "$ \" zu "local:" c: \ tfs \ "zu, so dass es nur einen Arbeitsbereich für alle Zweige gibt. Dies dient vor allem dazu, Probleme zu vermeiden, mit denen sich einige der Entwickler zuvor konfrontiert hatten. Aber ich kann nicht sehen, wie dies CI beeinflussen würde.

UPDATE: Ifound die Antwort indirekt; Bitte lesen Sie unten

+0

Ich habe gerade versucht, jetzt einchecken und überprüft die Windows-Ereignisprotokolle und IIS-Protokolle für seltsames Verhalten oder Fehler, aber kann nichts finden, um zu zeigen, dass es einen Fehler jeglicher Art gibt.Es ist fast so, als ob ich das Build-Check-in-Kästchen nicht überprüft hätte (aber vertraue mir, dass ich es habe). Frustrierender, wenn ich eine Warnung auf Check-Ins einstelle, um Kontrolle über dieses Projekt zu erhalten, erhalte ich die Warnungen; Offensichtlich wird beim Einchecken eine Art Ereignis ausgelöst. aber nicht baut! – Lex

Antwort

0

Wählen Sie Ihr Team-Projekt von Team Explorer, dann klicken Sie mit der rechten Maustaste auf den Ordner Builds. Wählen Sie eine neue Build-Definition und dann die Trigger-Registerkarte. Bewegen Sie den Radio-Button "Build jedes Check-in (mehr Builds)"

Weitere Informationen finden Sie hier

MSDN How to: Create a Build Definition

0

gefunden werden es irgendwelche Fehler in dem Protokoll auf dem TFS-Anwendungsserver? Alles was darauf hindeutet, dass es versucht hat zu schießen, aber gescheitert ist?

4

Ok Ich habe die Antwort nach mehreren Sackgassen selbst gefunden. Am Ende habe ich das unbeabsichtigt behoben, während ich ein anderes Problem behob. Im Grunde hatten wir gerade die automatische Ausführung von Komponententests für unsere Builds eingeschaltet. Der Test würde erfolgreich ausgeführt werden, aber dann würde der Build sofort mit einer Nachricht bombardieren, die besagt, dass es nicht möglich war, dem Build-Drop-Ordner Bericht zu erstatten.

Was passiert ist, während der Build-Dienst unter einem Konto ausgeführt wird und über eine Reihe von Rechten verfügt; Ein Teil der Funktionalität wird tatsächlich über das Konto TFSService verwaltet. Nachdem ich einen Haufen Genehmigungen erhalten hatte, wurden meine Tests gemeldet. Dann bemerkte ich, dass Builds beim Check-in ausgelöst wurden; Ich kann Ihnen nicht genau sagen, welche Erlaubnis das hat, aber hoffentlich wird diese Antwort zumindest die Leute auf den richtigen Weg bringen.

Eine weitere Anmerkung, dass einige der Builds aufgrund von widersprüchlichen Workspace-Mappings fehlgeschlagen sind - dies war ein separates Problem, das ich löschte, indem ich veraltete Arbeitsbereiche mit dem Attrice Sidekicks for Team Foundation-Tool löschte.

Hoffe das hilft jemand anderem.

Verwandte Themen