Erstellen von Bereitstellungsskripts für Build-, Bereitstellungs- und Testworkflows
Um die Anwendung mit einem Erstellungs-, Bereitstellungs- müssen Sie Bereitstellungsskripts erstellen und diese dem Build hinzufügen.Bereitstellungsskripts sind SCHLÄGER- oder CMD-Dateien, die den Build auf den Computern in der Lab-Umgebung kopieren.Wenn der Build ein Installationspaket einschließt, können Sie die Bereitstellungsskripts auch verwenden, um das Installationspaket auszuführen.Wenn Sie den Erstellungs- Workflow erstellen, fügen Sie dem Workflow Befehle hinzu, dass Ausführung, die die Bereitstellungsskripts.Wenn Sie den Workflow ausführen, führt der Buildcontroller diese Befehle im Arbeitsverzeichnis auf den angegebenen Computern in der Lab-Umgebung aus.
Siehe Gewusst wie: Erstellen eines Build-, Bereitstellungs- und Testworkflows für eine SCVMM-Umgebung oder Gewusst wie: Erstellen eines Build-, Bereitstellungs- und Testworkflows für eine Standardumgebung.Diese Abschnitten wird erläutert, wie Bereitstellungsskripts mit dem Erstellungs- Workflow erstellt und verwendet:
Vorbereiten von Build-Dateien für die Bereitstellung
Schreiben der Bereitstellungsskripts
Erstellen der Bereitstellungsskripts
Aufstellungs-Arbeitsverzeichnisse
Hinzufügen von Bereitstellungs-Skripten des Workflows
- Integrierte Variablen
Anforderungen
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional
Vorbereiten von Builddateien für die Bereitstellung
Die Methode, die Sie auswählen, um die Anwendung zu installieren, bestimmt die Hauptaufgaben, die die Bereitstellungsskripts erfüllen.Das Installieren der Anwendung bezöge möglicherweise nur mit ein, eine EXE-Datei auf einem Clientcomputer zu kopieren, oder sie kann ein Bereitstellungspaket auszuführen, einbeziehen, das Dateien auf mehreren Computern installiert.In der folgenden Tabelle werden diese Aufgaben für jeden Typ Bereitstellung.
Wichtig |
---|
Wenn die Anwendung auf erforderlicher Software beruht, die nicht installiert und konfiguriert durch die Bereitstellungsskripts, bevor die Anwendung bereitgestellt wird, müssen Sie sie manuell installieren, wenn Sie die Computer in der Lab-Umgebung vorbereiten.Wenn Sie eine SCVMM-Umgebung verwenden, die Momentaufnahmen bereitstellt, müssen Sie sicherstellen, dass die Momentaufnahmen die erforderliche Software installiert sein. |
Installations-Typ |
Description |
---|---|
Webdienst-Bereitstellungs-Paket |
Vorsicht
Wenn Sie eine Anwendung bereitstellen, die IIS verwendet, muss der IIS-Server in der Lab-Umgebung den konfigurierten Webbereitstellungs-Agent-Dienst haben, bevor Sie die Anwendung bereitstellen
die Bereitstellungsskripts müssen die Builddateien und das Bereitstellungspaket auf den Zielmaschinen in der Lab-Umgebung kopieren, und dann das Bereitstellungspaket ausführen.Um dies zu erreichen, müssen Sie möglicherweise einen Domänennamen, einen Dienstkontonamen und einen TFS-Servernamen dem Bereitstellungsskript als Parameter übergeben.Dieser Typ der Installation erfordert normalerweise, dass Sie manuell erforderliche Software wie ein Webserver oder ein Datenbankserver installieren und konfigurieren, bevor Sie die Anwendung bereitstellen.Konfiguration der erforderlichen Software erfordern bestimmte Aufgaben, die Anwendungsbereitstellung auf dem Zielcomputer aktivieren.Wenn die Anwendung beispielsweise IIS verwendet, muss der IIS-Server in der Lab-Umgebung den konfigurierten Webbereitstellungs-Agent-Dienst haben, bevor Sie die Anwendung bereitstellen. |
Build-Dateien ohne Installations-Paket |
die Bereitstellungsskripts müssen die Anwendung kopieren Dateien und zu den Zielmaschinen in der Lab-Umgebung erstellen. |
Installations-Paket |
Vorsicht
Wenn Sie ein Installationspaket mit dem Erstellungs- Workflow bereitstellen, müssen die Bereitstellungsskripts alle Benutzereingaben behandeln, die generiert wird, wenn sie das Installationspaket ausführen, oder die Anwendungsbereitstellung fehlschlägt.
die Bereitstellungsskripts müssen das Installationspaket auf Zielmaschinen in der Lab-Umgebung kopieren, und das Installationspaket ausführen.Wenn die Bereitstellungsskripts das Installationspaket ausführen, müssen sie gewährleisten, dass eine automatische Installation ist.Die Benutzereingaben, die durch die Installation angefordert wird, muss durch die Bereitstellungsskripts behandelt werden.Dies schließt Anmeldeinformationen ein.Wenn die Bereitstellungsskripts nicht alle generierte Benutzereingaben behandeln, wenn sie das Installationspaket ausführen, schlägt die Anwendungsbereitstellung aus.Wenn Sie keine Webanwendung bereitstellen und Sie ein Installationspaket für die Bereitstellung benötigen, empfiehlt es sich, ein InstallShieldinstallationspaket verwenden.Informationen zum InstallShield, finden Sie unter Windows Installer Deployment. |
Schreiben der Bereitstellungsskripts
Dies sind die häufigsten Aufgaben, die von Bereitstellungsskripts durchgeführt werden:
Rufen Sie den Buildpfad auf dem Buildcontroller ab.Sie können dieses dem Bereitstellungsskript als Befehlsargument senden.
Geben Sie den Bereitstellungspfad an.
Erstellen Sie das Bereitstellungsverzeichnis.Sie können dazu, statt in des Bereitstellungsskripts auch manuell ausführen.Wenn Sie Umgebungsmomentaufnahme vor der Bereitstellung mit dem Workflow verwenden, müssen Sie nur das Verzeichnis auf den virtuellen Computern in der Momentaufnahme erstellen.
Kopieren Sie das Bereitstellungspaket vom Buildpfad dem Bereitstellungspfad.
Führen Sie das Bereitstellungspaket im Bereitstellungsverzeichnis aus.
Die folgenden Befehle werden einige häufige Aufgaben, die von Bereitstellungsskripts ausgeführt werden.
REM set build path
set buildlocation=%1
REM set deployment path
set targetdir="C:\deploy"
REM create deployment directory
if not exist %targetdir% (cmd /c mkdir %targetdir%)
REM copy build to the deployment directory
xcopy /c /y /e %buildlocation%\*.* %targetdir%
REM if you are using a deployment package you can run it here, after you copy it to your deployment directory
Erstellen der Bereitstellungsskripts
Nachdem Sie die Bereitstellungsskripts erstellen, müssen Sie sie in die Versionskontrolle einchecken und diese dann so, dass diese auf der Buildausgabe kopiert werden.Um die Bereitstellungsskripts zu erstellen, müssen Sie ob sie mit dem Visual Studio-Projekt gespeichert werden, und nicht nur in der Projektmappe zuerst überprüfen.Sie können dies in Visual Studio ausführen, indem Sie das Bereitstellungsskript in Projektmappen-Explorer und anschließend die Eigenschaften auswählen und Ausgabeverzeichnis kopieren zu Immer kopieren ändern.
Aufstellungs-Arbeitsverzeichnisse
Sie können ein Arbeitsverzeichnis für jeden Satz von Befehle angeben, die Sie dem Erstellungs- Workflow hinzu.Wenn Sie ein Arbeitsverzeichnis angeben, wird das Buildcontroller die angegebenen Befehle im Arbeitsverzeichnis jedes Computers aus, der zuweisen zu dieser Rolle ist.Wenn Sie kein Arbeitsverzeichnis angeben, wenn Sie Befehle dem Erstellungs- Workflow hinzufügen, wird das Buildcontroller die Befehle im Standard und directory−C:\Windows\System32 aus.
Wichtig |
---|
Erstellen Sie Arbeitsverzeichnisse nicht mithilfe von Befehlen, die Sie dem Erstellungs- Workflow hinzufügen; Wenn Sie dies tun, werden die Verzeichnisse nicht erstellt, bevor die Bereitstellungsskripts versuchen, Dateien in diesen Verzeichnissen zu kopieren. |
Wenn Sie ein Arbeitsverzeichnis angeben, müssen Sie sicherstellen, dass das Verzeichnis vor den Bereitstellungsskripts kopieren alle Dateien in diesem Verzeichnis erstellt wird.Erstellen Sie keine Arbeitsverzeichnisse mit den Befehlen, die Sie verwenden, um die Bereitstellungsskripts Ihrem Erstellungs- Workflow hinzuzufügen.Wenn Sie dies tun, werden die Verzeichnisse nicht erstellt, bevor die Bereitstellungsskripts versuchen, Dateien auf Verzeichnisse zu kopieren.Damit ein Arbeitsverzeichnis vor den Bereitstellungsskript-Kopiendateien darauf erstellt wird, müssen Sie das Verzeichnis in den Zielmaschinen in der Lab-Umgebung manuell erstellen, oder das Verzeichnis muss durch die Bereitstellungsskripts erstellt werden vor jeder Befehl Dateien dorthin kopiert.
Hinzufügen von Bereitstellungs-Skripten des Workflows
Fügen Sie Windows-Shell-Befehle Ihrem Erstellungs- Workflow hinzu, Ihre Anwendung in einer Lab-Umgebung bereitzustellen.Wenn Sie Bereitstellungsskripts verwenden, müssen die Befehle die Bereitstellungsskripts aus dem Buildcontroller zum Arbeitsverzeichnis der Zielmaschinen kopieren, und Bereitstellungsskripts ausführen.Für einfache Anwendungsinstallationen, die nur betreffen, mehrere Dateien zum Arbeitsverzeichnis zu kopieren, können Sie Shellbefehle im Workflow verwenden, ohne externe Bereitstellungsskripts anzugeben.
Wenn Sie einen Befehl hinzufügen möchten, der an einer Windows-Eingabeaufforderung, wie mkdir ausgeführt oder eine Batchdatei ausführen, Sie müssen Sie den Befehl beginnen, indem Sie cmd /c verwenden.Beispielsweise kopiert der Befehl cmd /c $(BuildLocation)\copyexe $(BuildLocation), in dem copyexe die Batchdatei copyexe.bat ist, eine ausführbare Datei in einem lokalen Verzeichnis auf einem virtuellen Computer.
Integrierte Variablen:, wenn Sie diese Befehle Ihrem Erstellungs- Workflow hinzufügen, können Sie integrierte Variablen verwenden, um bestimmte Pfade und Computer zu identifizieren.Sie können diese Variablen zu den Bereitstellungsskripts werden.
$ (BuildLocation)
Der vollständige Pfad, in dem die Builddateien isoliert oder die Buildablage, Speicherort-wenn von im Erstellungs- Workflow konfiguriert ist.Verwenden Sie diese Variable, um auf die Builddateien zuzugreifen.$ (InternalComputerName_<VM Name>)
Der Computername für einen virtuellen Computer in einer SCVMM-Umgebung.Verwenden Sie diese Variable, auf einem Host des virtuellen Computers zuzugreifen, wenn Sie nicht den Computernamen des Hosts kennen.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) eingeben, als Argument für das Skript und dieses den Wert MyWebServer an das Skript übergeben wird.$ (ComputerName_<VM Name>)
Hinweis Netzwerkisolation in SCVMM-Umgebung:, wenn Sie Netzwerkisolation für die SCVMM-Umgebung verwenden, der Wert von $(InternalComputerName_<VM Name>) ist mit dem für eine Instanz eines virtuellen Computers in jeder Kopie der Umgebung, der $(ComputerName_<VM Name>)-Wert ist anders.
Der vollqualifizierte Domänenname des virtuellen Computers.Verwenden Sie diesen variablen Zugriff ein Computer von außerhalb einer SCVMM-Umgebung.Sie sollten diese Variable als Argument übergeben, um einen Webserver einzurichten.Lautet der Name des virtuellen Computers für den Webserver VM1 ist, können Sie auf den vollqualifizierten Domänennamen des virtuellen Computers zugreifen, indem Sie das $(ComputerName_VM1)-Argument dem Bereitstellungsskript übergeben.
Siehe auch
Konzepte
Einrichten automatischer Build-, Bereitstellungs- und Testworkflows