Share via


Verwalten der Buildinformationen und des Steuerelement-Ausführlichkeitsgrads

Aktualisiert: April 2011

Sie können die folgenden Arten von Informationen über einen abgeschlossenen Build abrufen:

  • Wie wurde der Build ausgeführt? War der Build erfolgreich? Wann wurde er gestartet? Wie lange dauerte der Build? Wie ist die Ausführung dieses Builds relativ zum vorherigen Build zu bewerten?

  • Was wurde erstellt? Welche Projektmappen, Changesets und Fehlerkorrekturen hat dieser Build umfasst?

  • Was lief falsch? Welche Warnungen oder Fehler traten auf? Welche Tests sind fehlgeschlagen?

Beim Definieren des Buildvorgangs können systematisch den Ausführlichkeitsgrad der Informationen steuern, die zu jedem abgeschlossenen Build gespeichert werden. Alternativ können Sie diesen Ausführlichkeitsgrad für eine einzelne Ausführung eines Builds steuern, wenn Sie diesen manuell in die Warteschlange stellen.

In diesem Thema

  • So werden Buildinformationen generiert und so funktioniert der Informationsfluss

    • Definieren des Buildprozesses

    • Der Buildprozess wird in die Warteschlange gestellt und ausgeführt

    • Die Buildinformationen werden erzeugt, gefiltert und gespeichert

    • Abrufen von Buildinformationen

  • Festlegen des Buildprozessparameters für die Protokollierungsausführlichkeit

  • Best Practice: Festlegen eines möglichst geringen Ausführlichkeitsgrads

    • Verwenden von minimaler Ausführlichkeit bei Ausführung eines Builds

    • Verwenden von minimaler Ausführlichkeit beim Entwerfen einer benutzerdefinierten Buildprozessvorlage

  • Weitere Informationen

So werden Buildinformationen generiert und so funktioniert der Informationsfluss

Fluss der Buildinformationen und Ausführlichkeitsgradeinstellungen

Definieren des Buildprozesses

Schritt 1 Beim Entwickeln des Buildprozesses können Sie die Informationsausführlichkeit systematisch steuern. Wenn Sie eine Builddefinition erstellen oder bearbeiten, die auf DefaultTemplate.xaml oder auf UpgradeTemplate.xaml beruht, öffnen Sie die Registerkarte Prozess. Unter dem Knoten Standard können Sie in der Liste Protokollierungsausführlichkeit einen Wert auswählen, um diesen Buildprozessparameter anzugeben.

Falls die integrierten Vorlagen Ihren Anforderungen nicht entsprechen, können Sie eine benutzerdefinierte Buildprozessvorlage entwickeln. Wenn Sie eine derartige Vorlage erstellen, sollten Sie die Buildinformationen sorgfältig schreiben. Weitere Informationen finden Sie unter Verwalten der Ausführlichkeit eines Builds in der benutzerdefinierten Buildprozessvorlage.

Der Buildprozess wird in die Warteschlange gestellt und ausgeführt

Schritt 2 Sie können die Einstellung Protokollierungsausführlichkeit manuell überschreiben, wenn Sie eine Builddefinition in die Warteschlange stellen, die auf DefaultTemplate.xaml oder UpgradeTemplate.xaml beruht. Klicken Sie im Dialogfeld Build zur Warteschlange hinzufügen auf die Registerkarte Parameter, erweitern Sie den Knoten Standard, und wählen Sie dann in der Liste Protokollierungsausführlichkeit einen Wert aus, um diesen Buildprozessparameter anzugeben. Dieser Wert wird auf eine einzelne Ausführung des Builds angewendet.

Die Buildinformationen werden erzeugt, gefiltert und gespeichert

Schritt 3 Das Buildsystem übergibt den Wert des Buildprozessparameters Ausführlichkeit an Verbosity. Diese Eigenschaft wird verwendet, um die Buildinformationen zu filtern, die über Information aus den folgenden Quellen im Data Warehouse protokolliert und gespeichert werden:

  • Workflowaktivitäten: Einige Workflowaktivitäten generieren eine Meldung, wenn ein Vorgang erfolgreich ausgeführt wurde, oder eine Warnung bzw. einen Fehler, wenn ein Vorgang fehlgeschlagen ist. Beispielsweise generiert die Aktivität SyncWorkspace Meldungen von geringer Wichtigkeit, wenn Quellcode und andere Dateien vom Server in den Build-Agent heruntergeladen werden. Diese Aktivität generiert Fehler, wenn die Dateien nicht heruntergeladen werden können. Ein weiteres Beispiel ist die Aktivität OpenWorkItem, die eine Warnung generiert, wenn das Erstellen einer Arbeitsaufgabe fehlschlägt.

    Sie können andere Workflowaktivitäten verwenden, um direkt eigene Buildinformationen zu schreiben. Weitere Informationen finden Sie unter Entwerfen einer benutzerdefinierten Buildprozessvorlage, die nur die nötigsten Informationen aufzeichnet.

  • MSBuild : Der Buildprozess verwendet die Aktivität MSBuild, um MSBuild zum Kompilieren der Binärdateien und Ausführen anderer wichtiger Aufgaben zu nutzen. Die Eigenschaft Ausführlichkeit dieser Aktivität steuert die Ausführlichkeit der Informationen, die von diesem Prozess generiert und an folgenden Speicherorten veröffentlicht werden:

    • Im Data Warehouse werden die Ergebnisse der Kompilierung, Fehler und Warnungen gespeichert.

    • In einem Protokoll im Ablageordner werden dieselben Informationen wie im Data Warehouse zusammen mit allen anderen von MSBuild erzeugten Meldungen gespeichert.

  • MSTest: Der Buildprozess verwendet die Aktivität MSTest, um MSTest.exe zur Ausführung von Tests zu verwenden. Alle von diesem Prozess generierten Meldungen werden mit einem hohen Wichtigkeitswert klassifiziert und im Data Warehouse und in einem Protokoll im Ablageordner veröffentlicht.

Abrufen von Buildinformationen

Schritt 4 Während der Ausführung und nach dem Abschluss des Builds können Sie sowohl die Zusammenfassung als auch ausführliche Informationen im Fenster für Buildergebnisse abrufen. Diese Informationen können Sie aus dem Fenster in die Zwischenablage kopieren. Außerdem können Sie eine direkte Verknüpfung mit dem Ablageordner erstellen, um Protokolle, Binärdateien und andere Daten abzurufen.

Der Buildprozessparameter für die Protokollierungsausführlichkeit

In einem Buildvorgang, der auf DefaultTemplate.xaml oder UpgradeTemplate.xaml beruht, können Sie den Buildprozessparameter Protokollierungsausführlichkeit verwenden, um den Ausführlichkeitsgrad der protokollierten und gespeicherten Informationen zu verwalten.

In der folgenden Tabelle werden die Werte für die Protokollierungsausführlichkeit und ihre entsprechenden Auswirkungen aufgeführt:

Wert

Fehler

Warnungen

Buildmeldungen mit hoher Wichtigkeit

Meldungen mit normaler Wichtigkeit

Meldungen mit geringer Wichtigkeit

Workflowaktivitätseigenschaften (Eingaben und Ausgaben)

Minimal

J

N

N

N

N

N

Normal

J

J

J

N

N

N

Detailed

J

J

J

J

N

N

Diagnose (sollte i. d. R. nur zum Debuggen eines Buildvorgangs verwendet werden)

J

J

J

J

J

J

Best Practice: Festlegen eines möglichst geringen Ausführlichkeitsgrads

Obwohl Buildinformationen wichtig sind, kann ein Buildvorgang, der zu viele Informationen protokolliert, Probleme verursachen. Diese Probleme können Folgendes umfassen: Beanspruchung von zu viel Speicherplatz im Data Warehouse, Verringern der Visual Studio-Leistung und Überlastung der Teammitglieder durch mehr Informationen, als sie verarbeiten können.

Verwenden von minimaler Ausführlichkeit bei Ausführung eines Builds

Beim Ausführen eines Builds sollten Sie als empfohlene Vorgehensweise die niedrigste Einstellung für den Ausführlichkeitsgrad verwenden, mit der weiterhin die Informationen bereitgestellt werden, die Sie zum Erreichen Ihres Ziels benötigen.

Angenommen, Sie führen einen Build aus, um Binärdateien zu generieren, die die neuesten Codeänderungen einschließen. In den meisten Fällen ist der Ausführlichkeitsgrad Normal ausreichend. Bei der Behandlung eines Fehlers im Buildvorgang oder bei einer ungewöhnlichen Codekompilierung müssen Sie aber möglicherweise den Ausführlichkeitsgrad Detailliert oder Diagnose verwenden.

Verwenden von minimaler Ausführlichkeit beim Entwerfen einer benutzerdefinierten Buildprozessvorlage

Benutzer des Buildprozesses können auf die Filter zur Reduktion des Ausführlichkeitsgrads zurückgreifen, um einen Informationsüberfluss zu vermeiden. Sie können den Filterungsvorgang effektiver gestalten, indem Sie wie folgt vorgehen:

  • Achten Sie darauf, dass Sie zum Schreiben einer Meldung die am besten geeignete Aktivität auswählen: WriteBuildMessage-Aktivität, WriteBuildWarning-Aktivität oder WriteBuildError-Aktivität.

  • Wenn Sie die Aktivität WriteBuildMessage-Aktivität zur Protokollierung von Informationen verwenden, gehen Sie beim Festlegen der Importance-Eigenschaft bewusst und konsistent vor. Falls Sie für die Meldung eine höhere Wichtigkeit verwenden, beachten Sie, dass Sie möglicherweise die Datenmenge erhöhen, die gespeichert und den Teammitgliedern angezeigt wird.

Tipp

Diese Entscheidungen können insbesondere dann erhebliche Auswirkungen haben, wenn Sie diese Aktivitäten in einer Schleifenstruktur wie DoWhile, ForEach<T> oder While verwenden.

Weitere Informationen

Team Foundation Build-Aktivitäten beschreibt die in diesem Thema erwähnten Workflowaktivitäten für Buildprozesse.

Definieren eines Builds mithilfe der Standardvorlage und Definieren eines Builds mithilfe der Upgradevorlage bieten einen Leitfaden zum Erstellen einer Builddefinition.

Anzeigen des Fensters "Buildergebnisse" enthalten eine Anleitung, wie Sie das Fenster für Buildergebnisse verwenden.

IBuildDetail, BuildMessageImportance und BuildVerbosity beschreiben einige Schlüsselelemente der Team Foundation Build-API, die Buildinformationsfunktionen bereitstellt.

In MSBuild-Befehlszeilenreferenz wird MSBuild erläutert.

Angeben der Buildtrigger und Gründe und Stellen eines Builds in die Warteschlange beschreiben, wie ein Build automatisch und manuell in eine Warteschlange gestellt wird.

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

April 2011

Thema hinzugefügt.

Informationsergänzung.