Gewusst wie: Bereitstellen einer Anwendung in einer virtuellen Umgebung

Mithilfe von Visual Studio Lab Management können Sie eine Anwendung automatisch in einer virtuellen Umgebung bereitstellen. Sie können eine spezifische Lab-Vorlage für eine Builddefinition verwenden, um die Anwendung zu erstellen und in einer virtuellen Umgebung bereitzustellen. Mit diesem Prozess können Sie den neuesten Build der Anwendung in einer unveränderten Umgebung bereitstellen, indem Sie einen bekannten Zustand für die virtuelle Umgebung verwenden. Die Benutzer können dann in dieser Umgebung auf die Anwendung zugreifen. Zudem können mithilfe von Microsoft Test Manager auch manuelle oder automatisierte Tests ausgeführt werden.

Tipp

Wenn Sie nach dem Erstellen und Bereitstellen der Anwendung automatisierte Tests ausführen möchten, führen Sie die Schritte des folgenden Themas aus: Gewusst wie: Konfigurieren und Ausführen von geplanten Tests nach dem Erstellen und Bereitstellen der Anwendung.

Verwenden Sie die folgenden Prozeduren, um den Buildworkflow zum Erstellen und Bereitstellen der Anwendung zu erstellen:

  • Überprüfen der Voraussetzungen

  • Erstellen der Builddefinition und Starten des Builds

  • Herstellen einer Verbindung mit der Umgebung aus den Buildergebnissen

    Tipp

    Die Lab-Vorlage kann nur für eine Builddefinition mit Triggern vom Typ "Manuell", "Geplant" oder "Parallele Builds" verwendet werden. Trigger vom Typ "Parallele Builds" werden nicht empfohlen, da trotz eines Testfehlers der nächste parallele Build gestartet werden kann oder unter Umständen das gesamte Buildsystem beendet wird. Die Trigger "Abgegrenzter Eincheckvorgang" und "Fortlaufende Integration" werden nicht unterstützt.

Voraussetzungen

Vergewissern Sie sich anhand der folgenden Liste, dass die folgenden Aufgaben ausgeführt wurden, um den Buildworkflow zum Erstellen und Bereitstellen der Anwendung einrichten zu können:

Erforderliche Aufgaben

  1. Konfigurieren Sie Lab Management – einschließlich eines Buildcontrollers und eines Testcontrollers: Erstmaliges Konfigurieren von Lab-Management.

  2. Erstellen Sie virtuelle Computer für die Umgebung, fügen Sie diesen virtuellen Computern Agents hinzu, und speichern Sie die virtuellen Computer anschließend in der Bibliotheksfreigabe: Gewusst wie: Erstellen und Speichern virtueller Computer und Vorlagen, die für Lab-Management verwendet werden können.

  3. Importieren Sie die virtuellen Computer oder die Vorlagen in das Teamprojekt aus SCVMM: Gewusst wie: Importieren eines virtuellen Computers oder einer Vorlage aus SCVMM.

  4. Erstellen Sie eine Umgebung, in der diese virtuellen Computer in den erforderlichen Rollen verwendet werden. Wählen Sie aus, dass Tests ausgeführt werden sollen und ein Workflow für die Umgebung verwendet wird, und starten Sie die Umgebung: Gewusst wie: Erstellen einer Umgebung aus virtuellen Computern oder Vorlagen.

    Tipp

    Installieren und konfigurieren Sie sämtliche, für die einzelnen virtuellen Computer erforderliche Software für die Rolle, für die der jeweilige Computer ausgewählt wurde. Beim Auswählen einer Rolle für einen virtuellen Computer wird keine erforderliche Software installiert.

  5. Empfehlung: Erstellen Sie eine Momentaufnahme der Umgebung, um sie als unveränderten Zustand für den Workflow verwenden zu können: Gewusst wie: Speichern des aktuellen Zustands der Umgebung. Führen Sie vor dem Erstellen der Momentaufnahme die folgenden Schritte aus:

    1. Vergewissern Sie sich, dass die virtuellen Computer in der Umgebung über die neuesten Betriebssystemupdates verfügen.

    2. Führen Sie für jeden virtuellen Computer in der Umgebung, der mit einer Domäne verbunden ist, den Befehl gpupdate /force aus, um sicherzustellen, dass alle Benutzerrichtlinienänderungen aktualisiert wurden. Wird dieser Befehl nicht ausgeführt, funktionieren die Bereitstellungsskripts unter Umständen nicht ordnungsgemäß, und die Tests werden möglicherweise nicht ordnungsgemäß ausgeführt.

    3. Überprüfen Sie, ob der Zustand für die Umgebung "Aktiv" ist und der Zustand der Workflowfunktion "Bereit" ist.

      Tipp

      Wenn einer Domäne die virtuellen Computer in dieser Momentaufnahme hinzugefügt werden, und die Momentaufnahme länger als der Kennwortablaufzeitraum für den Domänencontroller verwendet wird, sind die virtuellen Computer möglicherweise nicht mehr in der Lage, der Domäne beizutreten. Weitere Informationen finden Sie unter Gewusst wie: Speichern des aktuellen Zustands der Umgebung.

  6. Vergewissern Sie sich, dass die Code- und Testprojekte für die Anwendung in die Quellcodeverwaltung eingecheckt wurden: Stellen von Dateien unter Versionskontrolle.

  7. Erstellen Sie eine Builddefinition für die Anwendung, mit der Sie die Anwendung erstellen können. Anschließend können Sie entweder diese Builddefinition auswählen oder einen bestimmten, von dieser Builddefinition erstellten Build verwenden, wenn Sie den Buildworkflow mithilfe der Lab-Vorlage erstellen: Erstellen einer einfachen Builddefinition.

Erstellen des Build-, Bereitstellungs- und Testworkflows mithilfe der Lab-Vorlage für die Builddefinition

Führen Sie zum Erstellen des Build-, Bereitstellungs- und Testworkflows die folgenden Schritte aus:

Schritt

Aktion

1

Erstellen einer grundlegenden Builddefinition

2

Erstellen einer weiteren Builddefinition für den Build-, Bereitstellungs- und Testworkflow

3

Hinzufügen der Details für den Workflow

4

Hinzufügen der Builddefinition für den Workflow zur Warteschlange

Erstellen einer einfachen Builddefinition

Sie müssen zuerst eine Builddefinition für den Code in der Anwendung erstellen, die Sie bereitstellen möchten. Wenn Sie die Anwendung jedes Mal erstellen möchten, deaktivieren Sie die Tests in dieser Definition, da die Tests aus dem Workflow mithilfe der Lab-Vorlage ausgeführt werden.

Builddefinition für die Anwendung erstellen

So erstellen Sie eine Builddefinition für die Anwendung

  1. Klicken Sie im Menü Erstellen auf Neue Builddefinition.

  2. Geben Sie auf der Registerkarte Allgemein im Feld Builddefinitionsname einen Namen und im Textfeld Beschreibung eine entsprechende Beschreibung ein.

  3. Führen Sie die Schritte gemäß der Beschreibung im Thema Erstellen einer einfachen Builddefinition aus.

Erstellen der Builddefinition für den Workflow

Anschließend muss eine weitere Builddefinition für den Build-, Bereitstellungs- und Testworkflow erstellt werden (siehe folgende Abbildung):

Builddefinition für den Workflow erstellen

Wählen Sie zum Erstellen des Workflows die Datei "LabDefaultTemplate" aus, indem Sie festlegen, dass die Details für die Buildprozessvorlage angezeigt werden sollen (siehe folgende Abbildung):

Buildprozessvorlage für den Workflow auswählen

So erstellen Sie eine Builddefinition für den Workflow

  1. Klicken Sie im Menü Erstellen auf Neue Builddefinition.

  2. Geben Sie auf der Registerkarte Allgemein im Feld Builddefinitionsname einen Namen und im Feld Beschreibung eine entsprechende Beschreibung ein.

  3. Wählen Sie auf den Registerkarten Trigger, Arbeitsbereich, Build-Standardwerte und Beibehaltungsrichtlinie Einstellungen aus, und orientieren Sie sich dabei an den Erläuterungen im Thema Erstellen einer einfachen Builddefinition.

    Tipp

    Auf der Registerkarte Build-Standardwerte muss kein Buildablagepfad für diesen Buildworkflow eingegeben werden, da bei Verwendung der Lab-Vorlage keine Buildausgabe erstellt wird. Wenn Sie das Kontrollkästchen Meine Builds erstellen Ausgaben deaktivieren, ist kein Ablageordner erforderlich.

  4. Klicken Sie auf der Registerkarte Prozess unter Buildprozessvorlage auf Details anzeigen, um die Lab-Vorlage für die Builddefinition auswählen zu können.

    Eine Dropdownliste wird angezeigt.

  5. Wählen Sie eine Vorlage aus. Dies ist die Buildprozessdatei zum Definieren des Workflows.

  6. Wählen Sie in der Dropdownliste Buildprozessdatei die Datei "LabDefaultTemplate.xaml" aus, um für die Builddefinition einen Workflow zum Bereitstellen der Anwendung in einer virtuellen Umgebung zu erstellen.

Hinzufügen der Details für den Workflow

Nun können Sie die Details für den Workflowprozess hinzufügen (siehe folgende Abbildung).

Details für den Workflow hinzufügen

Der Assistent für Lab-Workflowparameter führt Sie durch die benötigten Informationen.

Assistent für Lab-Workflowparameter

Der Build kann nun in die Warteschlange gestellt werden, um den Workflow auszuführen und den Status des Buildworkflows anzuzeigen.

So fügen Sie die Details für den Workflow hinzu

  1. Klicken Sie zum Eingeben der Daten für den Workflow unter Buildprozessparameter auf Lab-Verarbeitungseinstellungen und anschließend auf die Auslassungspunkte (…).

    Der Assistent für Lab-Workflowparameter wird zur Eingabe der Informationen für den Workflow geöffnet.

  2. Wählen Sie auf der Registerkarte Umgebung die virtuelle Umgebung aus, in der die Anwendung bereitgestellt werden soll.

    Tipp

    Diese Umgebung muss aktiv sein. Bei Verwendung einer in der Bibliothek gespeicherten Umgebung muss die Umgebung bereitgestellt werden, um sie zu aktivieren. Es empfiehlt sich auch, dass diese Umgebung ausdrücklich für den Workflow erstellt und nicht von anderen Benutzern verwendet wird. Hierdurch werden Probleme im Zusammenhang damit verhindert, dass die Umgebung derzeit in Verwendung ist und der Buildworkflow eine bestimmte Momentaufnahme der Umgebung wiederherstellt oder dass Bereitstellungsskripts in der Umgebung ausgeführt werden, wenn ein anderer Benutzer einen Test ausführt.

  3. Empfehlung: Wenn durch die Lab-Builddefinition ein bekannter Zustand der Umgebung wiederhergestellt werden soll, aktivieren Sie das Kontrollkästchen Bestimmte Umgebungsmomentaufnahme wiederherstellen, und klicken Sie anschließend auf die Auslassungspunkte (…), um eine bestimmte Momentaufnahme auszuwählen.

    Das Dialogfeld Umgebungsmomentaufnahme auswählen wird angezeigt. Wählen Sie die Momentaufnahme aus, und klicken Sie auf OK.

    Wichtig

    Die Wiederherstellung einer Momentaufnahme wird empfohlen, um eine einheitliche Ausführung der Tests zu gewährleisten, wenn ein Buildvorgang auf Basis eines bekannten Zustands für die Umgebung ausgeführt wird. Dadurch lassen sich die Ursachen von Testfehlern mit größerer Sicherheit bestimmen. So könnte beispielsweise ein anderer Benutzer die aktuelle Umgebung durch Hinzufügen einer Software geändert haben und dadurch einen Testfehler verursachen.

  4. Klicken Sie auf Weiter.

  5. Gehen Sie folgendermaßen vor, wenn die Anwendung mit dieser Workflowdefinition jedes Mal erstellt werden soll, wenn die Workflowdefinition in die Warteschlange gestellt wird:

    1. Wählen Sie die Option Team Foundation-Build verwenden sowie die zuvor erstellte Definition aus.

    2. Wählen Sie Neuen Build in die Warteschlange stellen aus.

  6. Gehen Sie folgendermaßen vor, wenn ein vorhandener Build verwendet und die Anwendung nicht neu erstellt werden soll:

    1. Wählen Sie die Option Team Foundation-Build verwenden sowie die zuvor erstellte Definition aus.

    2. Wählen Sie Vorhandenen Build auswählen aus. Wählen Sie in der Dropdownliste einen Build aus. In der Liste werden die vorhandenen Builds angezeigt, die von der ausgewählten Builddefinition erstellt wurden.

    3. Wählen Sie eine Buildkonfiguration aus.

      Tipp

      Die Buildkonfigurationen werden beim Erstellen der Builddefinition für die Anwendung angegeben. Sind mehrere Buildkonfigurationen vorhanden, wählen Sie eine aus der Liste aus.

  7. Wenn Sie den Speicherort eines Builds definieren möchten, wählen Sie Build von angegebenem Speicherort verwenden aus, und geben Sie den UNC-Pfad des vorhandenen Builds an.

  8. Klicken Sie auf Weiter.

  9. Wählen Sie auf der Registerkarte Bereitstellen die Option Build bereitstellen aus, um die Anwendung im Rahmen des Workflows bereitzustellen.

  10. Klicken Sie auf Hinzufügen, um die zum Bereitstellen der Anwendung erforderlichen Skripts oder Befehle hinzuzufügen. Wählen Sie den virtuellen Computer aus, für den Sie das Skript oder den Befehl hinzufügen möchten.

    Nun können Sie Skripts oder Befehle für die einzelnen virtuellen Computer in der Umgebung hinzufügen. Ist beispielsweise ein Windows-Client Teil der Anwendung, können Sie ein Skript verwenden, mit dem die ausführbare Datei an den vom Test der codierten UI verwendeten Speicherort kopiert wird, um die Tests auf dem virtuellen Computer zu starten. Wenn Sie über einen Webserver verfügen, muss das Skript oder der Befehl ausgeführt werden, um diesen Teil der Anwendung bereitzustellen.

    Die folgenden Variablen können in den Skripts verwendet werden:

    • "$(BuildLocation)": Der Speicherort des Builds. Wenn Sie angegeben haben, dass der Build von einem freigegebenen Speicherort aus verwendet werden soll, stellt diese Variable den entsprechenden Pfad dar. Bei den anderen Optionen handelt es sich hierbei um den vollständigen Pfad für den Build – basierend auf der ausgewählten Buildkonfiguration und dem Buildablagespeicherort in der Builddefinition. Wenn Sie die Anwendung als Teil des Workflows erstellen, können Sie damit auf die neuesten Dateien zugreifen, die von diesem Build erstellt wurden.

    • $(InternalComputerName_<Name des virtuellen Computers>): Diese Variable dient zum Abrufen des Computernamens für einen virtuellen Computer, der Teil einer virtuellen Umgebung ist. Möglicherweise ist Ihnen der Name des virtuellen Computers, aber nicht der Computername bekannt. Wenn Sie über ein Bereitstellungsskript zum Einrichten eines Webservers verfügen, für das der Computername erforderlich ist, können Sie diesen als Argument an das Skript übergeben. Lautet der Name des virtuellen Computers für den Webserver beispielsweise VM1 und der Computername MyWebServer, geben Sie $(InternalComputerName_VM1) als Argument für das Skript ein. Hierdurch wird der Wert MyWebServer an das Skript übergeben.

    • $(ComputerName_<Name des virtuellen Computers>): Der vollqualifizierte Domänenname des virtuellen Computers. Mithilfe dieser Variablen kann selbst von außerhalb der virtuellen Umgebung auf den Computer zugegriffen werden. Sie können diese Variable als Argument übergeben, um einen Webserver einzurichten. Lautet der Name des virtuellen Computers für den Webserver beispielsweise "VM1", geben Sie "$(ComputerName_VM1)" als Argument für das Skript ein, um den vollqualifizierten Domänennamen des virtuellen Computers zu übergeben.

    Wenn Sie Netzwerkisolation für die Umgebung verwenden, ist der Wert $(InternalComputerName_<Name des virtuellen Computers>) für die Instanz eines virtuellen Computers in jeder Kopie dieser Umgebung identisch, $(ComputerName_<Name des virtuellen Computers>) weicht allerdings ab. Der Computername für einen virtuellen Computer kann beispielsweise in jeder Kopie der Umgebung MyWebServer lauten, aber der vollqualifizierte Domänenname wäre eindeutig: VM_<eindeutiger Bezeichner>.domain_name.com.

    Wichtig

    Wenn Sie einen Befehl hinzufügen möchten, der an einer Windows-Eingabeaufforderung ausgeführt wird (beispielsweise "mkdir" oder ein Befehl zum Ausführen einer Batchdatei), muss der Befehl mit cmd /c beginnen. Beispiel: cmd /c $(BuildLocation)\copyexe $(BuildLocation). "copyexe" ist hierbei die Batchdatei "copyexe.bat", mit der eine ausführbare Datei in ein lokales Verzeichnis auf dem virtuellen Computer kopiert wird.

    Wenn für das Skript oder den Befehl ein bestimmtes Arbeitsverzeichnis erforderlich ist, können Sie dieses unter Arbeitsverzeichnis eingeben.

    Tipp

    Vergewissern Sie sich nach dem Bereitstellen der Anwendung, dass Sie die Tests auf Basis des Speicherorts der Dateien ausführen können. Wird vom Test der codierten UI beispielsweise eine Windows-Clientanwendung gestartet, vergewissern Sie sich, dass sich die ausführbare Datei im korrekten Verzeichnis befindet, damit der Test ausgeführt werden kann.

    Gegebenenfalls sollte auch überprüft werden, ob die Namen der Computer in der Umgebung für die Anwendung korrekt sind. So muss beispielsweise unter Umständen überprüft werden, ob der virtuelle Computer für die Webserverrolle so konfiguriert ist, dass auf eine Datenbankserverinstanz auf dem virtuellen Computer für die Rolle des Datenbankservers zugegriffen werden kann.

  11. Empfehlung: Gehen Sie folgendermaßen vor, um eine Momentaufnahme der Umgebung nach der Bereitstellung der Anwendung, aber vor der Ausführung von Tests zu erstellen:

    1. Aktivieren Sie das Kontrollkästchen Nach Bereitstellung des Builds Umgebungsmomentaufnahme erstellen.

      Wichtig

      Wenn Sie diese Builddefinition als Teil des nächtlichen Workflowprozesses ausführen, ist in Kürze jedem virtuellen Computer in der Umgebung eine Vielzahl von Momentaufnahmen zugeordnet. Dies wirkt sich negativ auf die Leistung des virtuellen Computers aus. Außerdem gibt es eine Grenze von 50 Momentaufnahmen, die für jede virtuelle Umgebung gespeichert werden können. Daher müssen die alten Momentaufnahmen regelmäßig gelöscht werden.

    2. Geben Sie im Feld Namen der Momentaufnahme eingeben einen Namen für diese Momentaufnahme ein.

    Tipp

    Mithilfe dieser Momentaufnahme können Sie eine Verbindung mit der Umgebung herstellen und einen Test erneut ausführen, um ein Problem zu untersuchen. Dieser Schritt kann auch von einem anderen Teammitglied ausgeführt werden. Oftmals ist es hilfreich, einen Test mithilfe dieser Momentaufnahme auf einem unveränderten System, auf dem die Anwendung installiert ist, erneut auszuführen, um die aufgetretenen Fehler zu untersuchen oder sich einfach nur zu vergewissern, dass die Anwendung ordnungsgemäß installiert wurde.

  12. Klicken Sie auf Weiter.

  13. Klicken Sie auf Fertig stellen.

  14. Klicken Sie auf Speichern, um die Builddefinition zu speichern.

    Die erstellte Builddefinition wird in Team Explorer im Ordner Builds angezeigt.

Hinzufügen der Builddefinition für den Workflow zur Warteschlange

Der Build kann nun in die Warteschlange gestellt werden, um den Workflow auszuführen und den Status des Buildworkflows anzuzeigen.

So fügen Sie die Builddefinition für den Workflow zur Warteschlange hinzu

  1. Klicken Sie im Ordner "Builds" mit der rechten Maustaste auf die Lab-Builddefinition, und klicken Sie anschließend auf Neuen Build in Warteschlange, um die Builddefinition zum Erstellen, Bereitstellen und Testen der Anwendung zu starten.

    Das Dialogfeld Build zur Warteschlange hinzufügen wird angezeigt.

  2. Überprüfen Sie die Informationen für den Buildworkflow, und klicken Sie anschließend auf Warteschlange.

    Die Ansicht "Build Explorer" wird angezeigt.

  3. Doppelklicken Sie auf den Build, um während des Buildvorgangs die Buildzusammenfassung anzuzeigen.

    Der Buildstatus wird angezeigt.

  4. Öffnen Sie Microsoft Test Manager, suchen Sie das Lab-Center, klicken Sie auf Lab, und klicken Sie anschließend in der Liste auf die Umgebung, wenn Sie während des Buildvorgangs die Umgebung anzeigen möchten. (optional) Der Status des Buildvorgangs ist anhand des Bilds für die Umgebung sowie in den Umgebungsdetails über dem Bild ersichtlich:

    • Bei Verwendung dieser Option wird die Momentaufnahme wiederhergestellt.

    • Bei Verwendung dieser Option wird die Momentaufnahme nach der Bereitstellung erstellt.

    • Der Status der Funktionen; ist eine Funktion bereit, wird ein grüner Pfeil angezeigt.

    • Die ausgeführten Tests, wenn die Tests mit der Benutzeroberfläche interagieren.

    Bei erfolgreichem Abschluss des Buildworkflows wird ein grünes Häkchen angezeigt. Sind Fehler aufgetreten, können Sie auf Protokoll anzeigen klicken, um Details anzuzeigen.

Herstellen einer Verbindung mit der Umgebung aus den Buildergebnissen

Sie können ggf. eine Verbindung mit der Umgebung herstellen, um die Anwendung nach Abschluss des Buildworkflowprozesses auszuprobieren. Sie können eine Verbindung mit der Momentaufnahme nach der Bereitstellung herstellen, sofern diese Option im Buildworkflow aktiviert wurde, oder mit der Umgebung im aktuellen Zustand (siehe folgende Abbildung).

Verbindung mit der Umgebung aus den Buildergebnissen erstellen

So stellen Sie in den Buildergebnissen eine Verbindung mit der Umgebung her

  1. Klicken Sie in Team Explorer im Ordner Builds mit der rechten Maustaste auf die Buildworkflowdefinition, und zeigen Sie auf Builds anzeigen.

    Die Ansicht Build Explorer wird angezeigt.

  2. Klicken Sie auf die Registerkarte Abgeschlossen, um den abgeschlossenen Build anzuzeigen.

  3. Doppelklicken Sie auf den Build, den Sie anzeigen möchten.

    Die Ansicht "Buildzusammenfassung" wird angezeigt.

  4. Klicken Sie auf den Link neben "Umgebungsmomentaufnahme '<Buildname und -nummer>' anzeigen".

    Das Dialogfeld Mit Umgebung verbinden wird angezeigt.

  5. Klicken Sie auf Mit Momentaufnahme in dieser Umgebung verbinden, wenn Sie eine Verbindung mit der Momentaufnahme herstellen möchten, die nach der Anwendungsbereitstellung erstellt wurde.

    Tipp

    Durch Herstellen einer Verbindung mit dieser Momentaufnahme werden alle Änderungen verworfen, die nach dem Erstellen dieser Momentaufnahme nach der Bereitstellung vorgenommen wurden. Sollen alle Änderungen erhalten bleiben, stellen Sie eine Verbindung mit der Umgebung in ihrem aktuellen Zustand her, und erstellen Sie eine Momentaufnahme, bevor Sie die Momentaufnahme nach der Bereitstellung wiederherstellen. Informationen zum Erstellen einer Momentaufnahme finden Sie unter Gewusst wie: Speichern des aktuellen Zustands der Umgebung.

  6. Klicken Sie auf Mit der Umgebung im aktuellen Zustand verbinden, wenn Sie eine Verbindung mit der Umgebung im aktuellen Zustand herstellen möchten.

  7. Klicken Sie auf Verbinden.

    Der Microsoft-Umgebungs-Viewer wird angezeigt, und die Verbindung mit der Umgebung wird hergestellt. Die bereitgestellte Anwendung kann nun verwendet werden.

Siehe auch

Weitere Ressourcen

Testen mithilfe von virtuellen Umgebungen

Problembehandlung beim Ausführen von Tests in der virtuellen Umgebung