2009-07-01 15 views
10

Hintergrund: Wir haben eine TFS-Server-Setup, wo ich unseren Quellcode verwalten und Arbeitsaufgaben und Bugs verfolgen. Wir haben auch ein CC.Net-Setup, um uns bei der CI-Entwicklung zu unterstützen (meistens werden Komponententests erstellt und ausgeführt). Wir verwenden .net Framework 3.5 und VS 2008Was ist/sind die Unterschiede zwischen MSBuild und TFSBuild?

Ich bin vertraut mit MSBuild und verwenden Sie es in unserem aktuellen Projekt, um viele vor der Bereitstellung und Bereitstellung Aufgaben zu erreichen. Ich bin mir jedoch nicht sicher über den Zweck von TFSBuild. I denke es wird auf der TFS-Server-Ebene verwendet, um Aufgaben zu erstellen. Aber ich kann keine gute Dokumentation darüber finden, ob und wie ich (als Entwickler, kein Administrator unserer TFS ... -Entwickler nur Lesezugriff auf den TFS-Server) TFS-Build verwenden kann, um meine Bereitstellungs-/CI-Aufgaben zu vereinfachen. Kann die Verwendung von TFSBuild meine Aufgabe einfacher/effizienter machen, wenn ich bereits MSBuild für meinen Build-Prozess verwende und CC.Net bereits die Unit-Tests ausführt, die wir haben? Ist TFSBuild eine Alternative zu CC.Net? Was ist mit der Integration von TFSBuild mit Visual Studio 2008?

Update: Wie passt 'TeamBuild' in diesen Stapel? Mehr als die Theorie wäre ein einfaches Beispiel, das diese Dinge zusammenführt, wirklich hilfreich. Im Moment machen wir nur zwei Dinge: Verwenden Sie MSBuild, um Deployment-Aufgaben durchzuführen (Konfigurationsdatei aktualisieren, Versionsinfo, App auf Remote-Server veröffentlichen) und dann CC.Net übernimmt. Wo kann ich TeamBuild/TFSbuild in dieses Bild einfügen? Und wichtiger, brauche ich das? Ich verstehe, dass jeder andere Anforderungen hat, aber kann es generell helfen? Ein guter Grund, warum ich eine der Antworten für die Verwendung von TFS-Build bekam, war die automatische Erstellung von TFS-Tickets unter bestimmten Bedingungen. Was sind so Dinge, die ihr normalerweise macht?

+0

Meinst du Teambuild? Das einzige TFSBuild, das ich kenne, ist die Datei TFSBuild.proj. –

+0

John, ich bin jetzt selbst zwischen TeamBuild und TFSBuild verwirrt. :). Alle Erklärungen, die Sie über beide haben könnten, wären hilfreich. – desigeek

+0

Es gibt keine "TFSBuild" als ausführbare Komponente. Siehe die Antworten unten. –

Antwort

14

TFS verwendet gleiche MSBuild 3.5 unter der Haube für die automatische Builds, die Visual Studio 2008 lokal verwendet. TFS definiert seine eigene Build-Sequenz, indem es MSBuild mit einer .proj-Datei versorgt, die TFS-spezifische Ziele importiert und die Build-Sequenz der Lösung mit den in der Team-Umgebung nützlichen Features anreichert (dh die neueste Version aus der Quellcodeverwaltung, Build, Create) TFS-Ticket, wenn Build fehlschlägt usw.)

Hier ist my attempt at making sense of all these build frameworks durch die Bereitstellung historischer Perspektive: (meine Vermutungen und Annahmen können ungültig sein, sollte aber immer noch nützliche konzeptionelle Informationen für noobs sein). Überprüfen Sie den letzten Abschnitt namens "TFS-related MSBuild-Konzepte" - es hat einige nützliche Links.

3

MSBuild vs TFSBuild

MSBuild ist die Technologie, die für die tatsächliche baut verwendet wird. Der Knoten "Builds" im Team Explorer ist eine XML-Datei, die grundlegende Parameter eingibt, die in MSBuild eingegeben werden. Wenn Sie in diesem Knoten ein Build hinzufügen, fügt es tatsächlich einige Dateien zu Ihrer Quellcodeverwaltungsstruktur hinzu. Dies sind die Dateien, die mit MSBuild verbunden sind, die Sie anpassen würden.

Sie können Ihre Builds sehr einfach automatisieren. Es gibt ein Befehlszeilentool namens tfsbuild, das sich im Ordner% Program Files% \ Microsoft Visual Studio 8 \ Common7 \ IDE befinden sollte. Sie geben einen TFS-Server, ein Team-Projekt und einen Build-Typ an (der Name, den Sie im Knoten 'Builds' erstellt haben). Verwenden Sie dieses Befehlszeilendienstprogramm und verwenden Sie den Taskplaner in Windows, um dieses aufzurufen (Programme -> Zubehör -> Systemprogramme -> Aufgaben planen).

Quelle: MSDN Forums

Verwandte Themen