Konfigurieren von Team Foundation Server für die Webbereitstellung

von Jason Lee

In diesem Tutorial erfahren Sie, wie Sie Team Foundation Server (TFS) 2010 konfigurieren, um Lösungen zu erstellen und Webinhalte in verschiedenen Zielumgebungen bereitzustellen. Dies schließt Continuous Integration (CI)-Szenarien ein, in denen Sie Inhalte jedes Mal automatisch bereitstellen, wenn ein Entwickler eine Änderung vornimmt. Es kann auch manuelle Triggerszenarien umfassen, in denen ein Administrator die Bereitstellung eines bestimmten Builds in einer Stagingumgebung auslösen möchte, nachdem der Build in der Testumgebung überprüft und überprüft wurde. Die Themen in diesem Tutorial führen Sie durch den gesamten Konfigurationsprozess, einschließlich:

  • Erstellen eines neuen Teamprojekts in TFS
  • Hinzufügen von Inhalten zur Quellcodeverwaltung.
  • Konfigurieren eines Buildservers zur Unterstützung von CI und Bereitstellung
  • Erstellen einer Builddefinition mit Bereitstellungslogik
  • Konfigurieren von Berechtigungen für die automatisierte Bereitstellung

Eine italienische Übersetzung dieser Tutorials finden Sie unter http://www.lucamorelli.it.

In diesem Tutorial wird davon ausgegangen, dass Sie TFS 2010 installiert und eine Teamprojektsammlung im Rahmen des anfänglichen Konfigurationsprozesses erstellt haben. Das Team Foundation-Installationshandbuch für Visual Studio 2010 enthält umfassende Anleitungen zu diesen Aufgaben.

Kontext

Dies ist Teil einer Reihe von Tutorials, die auf den Unternehmensbereitstellungsanforderungen eines fiktiven Unternehmens namens Fabrikam, Inc. basieren. In dieser Tutorialreihe wird eine Beispiellösung – die Contact Manager-Lösung – verwendet, um eine Webanwendung mit einem realistischen Komplexitätsgrad darzustellen, einschließlich einer ASP.NET MVC 3-Anwendung, eines Windows Communication Foundation-Diensts (WCF) und eines Datenbankprojekts.

Die Bereitstellungsmethode, die im Mittelpunkt dieser Tutorials steht, basiert auf dem unter Grundlegendes zum Buildprozess beschriebenen Ansatz der geteilten Projektdatei, bei dem der Buildprozess von zwei Projektdateien gesteuert wird– eine mit Buildanweisungen, die für jede Zielumgebung gelten, und eine mit umgebungsspezifischen Build- und Bereitstellungseinstellungen. Zur Buildzeit wird die umgebungsspezifische Projektdatei in die umgebungsunabhängige Projektdatei zusammengeführt, um einen vollständigen Satz von Buildanweisungen zu bilden.

Übersicht über das Szenario

Das allgemeine Szenario für diese Tutorials wird unter Enterprise Web Deployment: Scenario Overview beschrieben. Es wird empfohlen, dieses Thema zu lesen, bevor Sie mit diesem Tutorial beginnen.

Verwendung dieses Tutorials

Wenn Sie die in diesem Tutorial beschriebenen Aufgaben zum ersten Mal ausgeführt haben, oder wenn Sie die Beispiele mithilfe der Beispiellösung befolgen möchten, sollten Sie die Tutorialthemen in der richtigen Reihenfolge durcharbeiten. Alternativ können Sie einzelne Themen als Leitfaden für bestimmte Aufgaben verwenden. Dieses Tutorial enthält die folgenden Themen:

  • Erstellen eines Teamprojekts in TFS. Ein Teamprojekt ist die Kerneinheit für die Quellcodeverwaltung, die Prozessverwaltung und die Erstellung von TFS. Sie müssen ein Teamprojekt erstellen, bevor Sie Inhalte zur Quellcodeverwaltung hinzufügen oder Builddefinitionen erstellen können.
  • Hinzufügen von Inhalten zur Quellcodeverwaltung. Nachdem Sie ein Teamprojekt erstellt haben, können Sie mit dem Hinzufügen von Inhalten zur Quellcodeverwaltung beginnen. Sie müssen Ihre Projekte und Projektmappen zusammen mit externen Abhängigkeiten hinzufügen, bevor Sie mit der Konfiguration von Builds beginnen können.
  • Konfigurieren eines TFS-Buildservers für die Webbereitstellung. Wenn Sie Inhalte Ihres Teamprojekts erstellen möchten, müssen Sie einen Buildserver konfigurieren. In den meisten Fällen sollte sich dies auf einem separaten Computer von Ihrer TFS-Installation befinden. Zum Konfigurieren eines Buildservers müssen Sie den TFS-Builddienst installieren und konfigurieren, Visual Studio 2010 installieren, Buildcontroller und Build-Agents erstellen, alle Produkte oder Komponenten installieren, die Ihr Code benötigt, um erfolgreich zu erstellen, und das IIS-Webbereitstellungstool (Web Deploy) installieren.
  • Erstellen einer Builddefinition, die die Bereitstellung unterstützt. Bevor Sie mit dem Warteschlangen- oder Auslösen von Builds in TFS beginnen können, müssen Sie mindestens eine Builddefinition für Ihr Teamprojekt erstellen. Die Builddefinition definiert jeden Aspekt des Builds, einschließlich der Elemente, die in den Build einbezogen werden sollen, was den Build auslösen soll und wohin Team Build die Buildausgaben senden soll. Sie können eine Builddefinition konfigurieren, um benutzerdefinierte Microsoft-Build-Engine -Projektdateien (MSBuild) auszuführen, sodass Sie Bereitstellungslogik in Ihre automatisierten Builds einschließen können.
  • Bereitstellen eines bestimmten Builds. In vielen Szenarien sollten Sie einen bestimmten Build anstelle des neuesten Builds in einer Zielumgebung bereitstellen. In diesem Fall können Sie eine Builddefinition konfigurieren, die Inhalte aus einem bestimmten Ablageordner bereitstellt.
  • Konfigurieren von Berechtigungen für die Team Build-Bereitstellung. Wenn der Builddienst Inhalte im Rahmen eines automatisierten Buildprozesses bereitstellen soll, müssen Sie dem Builddienstkonto auf allen Zielwebservern und Datenbankservern verschiedene Berechtigungen erteilen.

Schlüsseltechnologien

Dieses Tutorial konzentriert sich auf die Verwendung dieser Produkte und Technologien zur Unterstützung der automatisierten Erstellung und Webbereitstellung:

  • Visual Studio Team Foundation Server 2010
  • Teambuild und MSBuild
  • Web Deploy

Das Tutorial behandelt auch die Verwendung von Windows Server 2008 R2, IIS 7.5, SQL Server 2008 R2, ASP.NET 4.0 und ASP.NET MVC 3.

Weitere Tutorials in dieser Reihe

Dies ist Teil einer Reihe von fünf Tutorials zur Webbereitstellung auf Unternehmensniveau. Dies sind die weiteren Tutorials in der Reihe:

  • Bereitstellen von Webanwendungen in Unternehmensszenarien. Dieser Einführungsinhalt bietet den kontextbezogenen Hintergrund für die Tutorialreihe. Es beschreibt das Tutorialszenario und veranschaulicht, wie die in der Reihe beschriebenen Aufgaben und exemplarischen Vorgehensweisen in einen umfassenderen ALM-Prozess (Application Lifecycle Management) passen.
  • Webbereitstellung im Unternehmen. Dieses Tutorial bietet eine konzeptionelle Einführung in MSBuild-Projektdateien, die Web Publishing Pipeline (WPP), Web Deploy und andere verwandte Technologien. Es wird erläutert, wie Sie diese Tools zusammen verwenden können, um komplexe Bereitstellungsprozesse zu verwalten.
  • Konfigurieren von Serverumgebungen für die Webbereitstellung. In diesem Tutorial wird beschrieben, wie Sie Windows-Server konfigurieren, um verschiedene Bereitstellungsszenarien zu unterstützen, einschließlich der Bereitstellung von Remotewebpaketen mithilfe des Web Deployment Agent-Diensts (Remote-Agent) oder des Webbereitstellungshandlers und der Bereitstellung von Remotedatenbanken. Es enthält Anleitungen zur Auswahl der geeigneten Bereitstellungsmethode für Ihre eigene Umgebung und beschreibt, wie Sie das Web Farm Framework (WFF) verwenden, um bereitgestellte Webanwendungen auf allen Webservern in einer Serverfarm zu replizieren.
  • Erweiterte Enterprise-Webbereitstellung. In diesem Tutorial wird beschrieben, wie Sie verschiedene erweiterte Bereitstellungsaufgaben ausführen, z. B. das Anpassen von Datenbankbereitstellungen für mehrere Umgebungen, das Ausschließen von Dateien und Ordnern aus der Bereitstellung und das Offlinestellen von Webanwendungen während des Bereitstellungsprozesses.