Freigeben über


Ausführen eines Skripts im Buildprozess

Die Standardvorlage von Team Foundation Build (TFBuild) stellt die Kernfunktionen bereit, die die meisten Teams zum Erstellen und Testen ihrer App benötigen. Trotzdem sind die meisten Softwareprojekte so spezifisch, dass Teams eine eigene Geschäftslogik hinzufügen müssen. Die Erstellung und Verwaltung eines benutzerdefinierten Buildprozesses kann kompliziert und kostenintensiv sein. Sie müssen so aber nicht verfahren, wenn Sie vor oder nach dem Kompilieren oder Testen des Codes durch das System nur ein PowerShell-Skript oder eine Batchdatei (.bat) ausführen möchten.

Sie möchten z. B. vor dem Kompilieren die Version der Assemblydateien festlegen. Vielleicht möchten Sie auch nach dem Kompilieren die Buildausgaben steuern, die am Stagingort abgelegt werden.

Ausführen von Skripts im Buildprozess

Skriptparameter in der Standardvorlage

Sie können mit der Standardvorlage PowerShell- und Batchskripts (.bat) vor und nach dem Kompilieren des Codes bzw. vor und nach dem Ausführen der Tests ausführen.

Damit der Buildprozess das Skript ausführen kann, müssen Sie es zuerst hochladen:

Nachdem Sie Ihr Skript hochgeladen haben, verweisen Sie darauf von der entsprechenden Stelle in den Buildprozessparametern. Sie können auch gegebenenfalls Argumente für die Skripts angeben.

Buildvorstufenbeispiel: Versionieren von Assemblys

Bevor MSBuild den Code kompiliert, gibt es viele Aufgaben, die Sie möglicherweise ausführen möchten. Eine der häufigsten könnte jedoch das Anwenden von Versionen auf die Assemblys sein.

ApplyVersionToAssemblies.ps1

Postbuildbeispiel: Vorbereiten der Binärdateien auf das Staging

Wenn Sie den Ausgabespeicherort auf AsConfigured festlegen, kann TFBuild steuern, welche Binärdateien für Sie abgelegt werden. In diesem Fall werden die Binärdateien von TFBuild kompiliert und im Quellverzeichnis belassen. Sie werden grundsätzlich auf die gleiche Weise organisiert, wie wenn sie mit Visual Studio lokal auf dem Entwicklungscomputer kompiliert werden. Das folgende Skript erfasst einige der typischen Binärtypen von den typischen Speicherorten und kopiert sie in den Ordner, aus dem TFBuild sie kopiert und am Stagingspeicherort ablegt.

GatherItemsForDrop.ps1

F & A

F: Ich wurde vom System blockiert, da ich keine Berechtigung habe.Wie kann ich sie erhalten?

A: Berechtigungsreferenz für Team Foundation Server

F: Welche Umgebungsvariablen sind für mein Skript verfügbar?

A: Rufen Sie die Daten aus den TF_BUILD-Umgebungsvariablen ab.

F: Wo erhalte ich weitere Informationen zum Entwickeln von Skripts?

A: Unter der kuratierten Antwort zum Ausführen von Skripts im Team Foundation Build-Prozess

F: Kann ich Versionskontrollbefehle ausführen?

A: Ja. Im folgenden Beispiel wird das Auschecken und Einchecken einer Datei veranschaulicht:

& ($env:VS120COMNTOOLS + "..\..\common7\ide\tf.exe") checkout $file

& ($env:VS120COMNTOOLS + "..\..\common7\ide\tf.exe") checkin $file /comment:" Checked in by build process script. ***NO_CI***" /noprompt

F: Wo kann ich Skripts abrufen?

Community TFS-Builderweiterungen

F: Skripts bieten mir nicht genug Steuermöglichkeiten.Welche Möglichkeiten gibt es?

Passen Sie die Buildprozessvorlage an.