Share via


Webbereitstellung im Unternehmen

von Jason Lee

In diesem Tutorial wird beschrieben, wie Sie viele Der Herausforderungen bewältigen, mit denen Sie konfrontiert sind, wenn Sie die Bereitstellung von Webanwendungen auf Unternehmensniveau in Entwicklungs-, Test-, Staging- und Produktionsumgebungen verwalten. Das Tutorial enthält eine Referenzlösung zusammen mit einer Mischung aus konzeptionellen und aufgabenorientierten Inhalten, die Sie durch verschiedene gängige Aufgaben und Prozeduren führen.

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

Herausforderungen bei der Unternehmensbereitstellung

Organisationen sehen sich häufig mit diesen Herausforderungen konfrontiert, wenn sie die Bereitstellung komplexer Lösungen auf Unternehmensniveau verwalten möchten:

  • Sie müssen Projekte in mehreren Umgebungen bereitstellen können, z. B. Entwickler- oder Testumgebungen, Stagingplattformen und Produktionsserver. Die Lösung muss mit unterschiedlichen Konfigurationseinstellungen für jede Umgebung bereitgestellt werden.
  • Sie müssen mehrere abhängige Projekte gleichzeitig im Rahmen eines einstufigen oder automatisierten Build- und Bereitstellungsprozesses bereitstellen.
  • Sie müssen in der Lage sein, die Bereitstellung über einen automatisierten Prozess zu steuern. Sie möchten beispielsweise einen CI-Prozess (Continuous Integration) verwenden, um Webanwendungen in einer Testumgebung bereitzustellen, wenn neuer Code eingecheckt wird.
  • Sie müssen in der Lage sein, den Bereitstellungsprozess zu steuern und Bereitstellungsvariablen von außerhalb von Visual Studio festzulegen, da Es unwahrscheinlich ist, dass Entwickler über die richtigen Konfigurationseinstellungen oder die erforderlichen Anmeldeinformationen für jede Zielumgebung verfügen.
  • Sie müssen schemabasierte Datenbankprojekte bereitstellen und vorhandene Daten bei nachfolgenden Bereitstellungen beibehalten.
  • Sie müssen Mitgliedschaftsdatenbanken ad hoc bereitstellen, ohne Benutzerkontodaten bereitzustellen. Möglicherweise müssen Sie auch das Schema der bereitgestellten Mitgliedschaftsdatenbanken aktualisieren, ohne vorhandene Benutzerkontodaten zu verlieren.
  • Sie müssen bestimmte Dateien oder Ordner ausschließen, wenn Sie Inhalte in verschiedenen Zielumgebungen bereitstellen.

Übersicht über den Ansatz

Dieses Tutorial verwendet zusammen mit den anderen Tutorials in dieser Reihe diesen allgemeinen Ansatz, um die oben beschriebenen Herausforderungen zu bewältigen.

  • Verwenden Sie benutzerdefinierte Microsoft-Build-Engine -Projektdateien (MSBuild), um den gesamten Build- und Bereitstellungsprozess zu steuern.
  • Auf diese Weise können Sie jedes Projekt in der Projektmappe als Teil eines einzelnen skriptfähigen Vorgangs erstellen und bereitstellen.
  • Umgebungsspezifische Einstellungen werden mithilfe einfacher umgebungsspezifischer Projektdateien konfiguriert. Im Gegensatz zum Visual Studio-orientierten Ansatz, Lösungskonfigurationen und Veröffentlichungsprofile zum Konfigurieren von Bereitstellungen für verschiedene Umgebungen zu verwenden, können Sie mit diesem Ansatz den Bereitstellungsprozess außerhalb von Visual Studio konfigurieren und verwalten. Dies bedeutet, dass Entwickler keine kenntnisse über Verbindungszeichenfolgen, Dienstendpunkte, Serveranmeldeinformationen und andere Bereitstellungsvariablen für Zielumgebungen benötigen.
  • Die benutzerdefinierten Projektdateien können von Team Build als Teil eines TFS-Workflows (Team Foundation Server) aufgerufen werden. Auf diese Weise können Sie die automatisierte Bereitstellung für CI-Szenarien konfigurieren.

Verwenden Sie das IIS-Webbereitstellungstool (Web Deploy), um Webanwendungsprojekte zu packen und bereitzustellen.

  • Web Deploy bietet ein Framework, mit dem Sie Ihre Webanwendungsinhalte zusammen mit Abhängigkeiten, Konfigurationseinstellungen, Sicherheitseinstellungen und anderen Anforderungen auf einem IIS-Zielwebserver packen und bereitstellen können.
  • Sie können den gesamten Paket- und Bereitstellungsprozess in Ihren benutzerdefinierten MSBuild-Projektdateien steuern. Sie können auch die Konfigurationseinstellungen ändern, die Ihrem Webbereitstellungspaket beiliegen, z. B. Verbindungszeichenfolgen, Dienstendpunkte und IIS-Zieldetails.
  • Web Deploy bietet zusammen mit der Web Publishing Pipeline viele Erweiterbarkeitspunkte, mit denen Sie Ihre Bereitstellungen anpassen können. Beispielsweise ist es einfach, unerwünschte Dateien und Ordner aus Ihren Webbereitstellungspaketen auszuschließen.

Verwenden Sie das Hilfsprogramm VSDBCMD.exe, um Datenbankschemas bereitzustellen und zu aktualisieren.

  • MIT VSDBCMD können Sie Datenbanken aus einer Datenbankschemadatei (DBSCHEMA) bereitstellen, die beim Erstellen eines Visual Studio-Datenbankprojekts generiert wird. Im Gegensatz dazu eignet sich die in Web Deploy enthaltene Datenbankbereitstellungsfunktion besser für die Bereitstellung vorhandener Datenbanken aus einem lokalen SQL Server instance.
  • Im Gegensatz zur Funktionalität von Visual Studio zum Bereitstellen von Datenbankprojekten können Sie mit VSDBCMD differenzielle Updates für eine vorhandene Zieldatenbank bereitstellen. Dadurch können Sie alle vorhandenen Daten beibehalten, während Sie das Datenbankschema aktualisieren.
  • Sie können VSDBCMD-Befehle in Ihren benutzerdefinierten MSBuild-Projektdateien ausführen.

Inhaltsübersicht

Dieses Tutorial enthält Themen, die in vier Standard Bereiche fallen.

In diesen Themen wird die Referenzlösung – die Contact Manager-Lösung – vorgestellt und beschrieben, wie Sie sie herunterladen und auf Ihrem lokalen Computer konfigurieren:

In diesen Themen werden MSBuild-Projektdateien vorgestellt, beschrieben, wie Sie benutzerdefinierte Projektdateien erstellen und verwenden können, und führen Sie den Bereitstellungsprozess für die Contact Manager-Projektmappe durch:

In diesen Themen werden die Bereitstellung von Webanwendungen beschrieben, einschließlich der Funktionsweise des Build- und Verpackungsprozesses, der Integration des Buildprozesses in die Web Publishing-Pipeline, das Ändern von Bereitstellungsparametern und das Bereitstellen von Webpaketen in Zielumgebungen:

Schlüsseltechnologien

In den Themen in diesem Tutorial werden in erster Linie die folgenden Technologien zum Verwalten von Build und Bereitstellung verwendet:

  • Visual Studio 2010
  • MSBuild
  • IIS 7,5
  • Web Deploy 2.0
  • Das VSDBCMD.exe-Datenbankbereitstellungs-Hilfsprogramm

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.
  • 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.
  • Konfigurieren von Team Foundation Server für die Webbereitstellung. In diesem Tutorial wird beschrieben, wie Sie TFS konfigurieren, um verschiedene Bereitstellungsszenarien zu unterstützen, einschließlich der automatisierten Bereitstellung als Teil eines CI-Prozesses und manuell ausgelösten Bereitstellungen bestimmter Builds.
  • 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.