Share via


Arbeiten mit Buildarbeitsbereichen

Während des Buildvorgangs kompiliert der Build-Agent die Quelldateien und führt weitere Aufgaben mit diesen aus. Der Build-Agent kann diese Aufgaben erst ausführen, nachdem er die Dateien aus Ordnern auf dem Versionskontrollserver in ein lokales Arbeitsverzeichnis heruntergeladen hat. Um diese Dateien herunterladen zu können, erstellt der Build-Agent einen Versionskontroll-Arbeitsbereich, in dem die Ordner auf dem Server den lokalen Ordnern im Arbeitsverzeichnis für die Build-Agents zugeordnet sind.

Vom Buildarbeitsbereich übernommene Rolle

Vor Beginn des Buildprozesses

Schritt 1 Sie legen das Arbeitsverzeichnis für die einzelnen Build-Agents im Buildsystem fest. Weitere Informationen finden Sie unter Erstellen und Verwenden von Build-Agents.

Schritt 2 Wenn Sie eine Builddefinition erstellen, geben Sie auf der Registerkarte Arbeitsbereich die Ordner mit den herunterzuladenden Dateien sowie deren Art der Zuordnung zu den lokalen Ordnern im Build-Agent an.

Während des Buildprozesses

Schritt 3 Der Buildprozess übergibt die Arbeitsbereichsspezifikationen an die CreateWorkspace-Aktivität-Workflowaktivität, um einen Arbeitsbereich im Arbeitsverzeichnis zu erstellen.

Schritt 4 Der Buildprozess verwendet die DownloadFiles-Aktivität-Aktivität, um die Dateien in den Arbeitsbereich herunterzuladen. Nach diesem Schritt kann der Build-Agent mit den Aufgaben für diese Dateien beginnen (z. B. der Kompilierung).

Entwerfen eines Arbeitsbereichs für die Builddefinition

Befolgen Sie beim Entwerfen des Arbeitsbereichs für die Builddefinition einige empfohlene Vorgehensweisen.

Schließen Sie alle erforderlichen Ordner ein.

Stellen Sie sicher, dass Sie alle Ordner einschließen, die für den Buildprozess erforderliche Dateien enthalten. Wenn Sie beispielsweise auf der Registerkarte Prozess dem Feld Zu erstellende Dokumente eine weitere Projektmappe hinzufügen, müssen Sie dem Arbeitsbereich möglicherweise eine weitere Zuordnung hinzufügen.

Schließen Sie nur erforderliche Ordner ein.

Ordnen Sie den Status-Wert Aktiv nur den Ordnern zu, die für den Buildprozess benötigt werden. Wenn ein Unterordner eines zugeordneten Ordners Dateien enthält, die für den Buildprozess nicht benötigt werden, ordnen Sie ihm den Status-Wert von Verdeckt zu. Beim Erstellen einer Builddefinition wird häufig der Stammordner des Teamprojekts im Arbeitsbereich zugeordnet. Diese Konfiguration führt dazu, dass der Build-Agent alle Dateien in den Versionskontrollordner des Teamprojekts herunterlädt. Wenn dieser Ordner große Datenmengen enthält, werden für den Build möglicherweise Systemressourcen verschwendet, und der Buildprozess wird verlangsamt, da umfangreiche nicht erforderliche Datenmengen heruntergeladen werden.

Wenn Sie auf der Registerkarte Prozess Elemente aus dem Feld Zu erstellende Dokumente entfernen, suchen Sie auch nach Zuordnungen, die Sie aus dem Arbeitsbereich entfernen können.

Verwenden Sie das Token $(SourceDir), um einen Serverordner einem lokalen Unterverzeichnis .. \Sources zuzuordnen.

In den meisten Fällen bildet den optimalen Speicherort für die Quelldateien auf dem Build-Agent das Unterverzeichnis ..\Sources im Arbeitsverzeichnis. Diesen Speicherort können Sie angeben, indem Sie das $(SourceDir)-Token im Feld Ordner für Build-Agent verwenden.

Achten Sie darauf, wie sich der Arbeitsbereich auf eine Builddefinition auswirkt, die durch Eincheckvorgänge ausgelöst wird.

Wenn Sie den Trigger der Builddefinition auf Fortlaufende Integration, Parallele Builds oder Abgegrenzter Eincheckvorgang festgelegt haben, werden die zugeordneten Serverordner an den Buildprozess gebunden. Wenn beispielsweise ein Entwickler Änderungen an einem Ordner eincheckt, der im Arbeitsbereich einer Builddefinition mit einem Trigger vom Typ Abgegrenzter Eincheckvorgang zugeordnet ist, werden diese Änderungen bis zum Abschluss des Buildprozesses blockiert.

Weitere Informationen zu Triggern finden Sie unter Angeben der Buildtrigger und Gründe.

Beispiel für einen Builddefinitions-Arbeitsbereich

Herr Tamburello, der Build-Manager, hat die Builddefinition Storefront Nightly erstellt.

Beispiel für Builddefinitionsarbeitsbereich

Schritt 1 Mit dieser Builddefinition werden zwei Projektmappen erstellt: $/Core/Controllers/Controllers.sln und $/Core/Viewers/Viewers.sln. Daher müssen die beiden Ordner mit diesen Projektmappen, die darin enthaltenen Projekte sowie alle anderen erforderlichen Dateien zugeordnet werden.

Schritt 2 Um die Effizienz des Buildprozesses zu verbessern, schließt Herr Tamburello einen Ordner mit Dokumentationsdateien aus, die für den Buildvorgang nicht erforderlich sind: $/Core/Viewers/Docs.

Schritt 3 Die Projektmappen sind von einigen Binärdateien in einer Komponentenbibliothek eines anderen Unternehmens abhängig. Diese Binärdateien sind durch einen proprietären Mechanismus geschützt, aufgrund dessen sich diese in einem bestimmten physischen Ordner befinden müssen: c:\adatum\widgets.

Kopieren von Daten zwischen Arbeitsbereichen

Sie können Zeit sparen, indem Sie Zuordnungen aus einem Arbeitsbereich in einen anderen kopieren.

So kopieren Sie Zuordnungen aus einem der Arbeitsbereiche

  1. Klicken Sie auf Vorhandenen Arbeitsbereich kopieren.

  2. Kopieren Sie im Dialogfeld Zu kopierenden Arbeitsbereich auswählen die Zuordnungen aus dem Arbeitsbereich.

So kopieren Sie Zuordnungen aus einem anderen Builddefinitions-Arbeitsbereich oder dem Arbeitsbereich eines anderen Teammitglieds

  1. Führen Sie einen der folgenden Schritte aus:

    • Zum Kopieren von Zuordnungen aus einem anderen Builddefinitions-Arbeitsbereich öffnen Sie die Builddefinition, und klicken Sie dann auf die Registerkarte Arbeitsbereich.

    • Um Zuordnungen aus dem Arbeitsbereich eines anderen Teammitglieds zu kopieren, bitten Sie das Teammitglied, das Menü Datei zu öffnen und dann auf Quellcodeverwaltung und auf Arbeitsbereiche zu klicken. Wählen Sie den Arbeitsbereich aus, und klicken Sie dann auf Bearbeiten.

  2. Klicken Sie in der Tabelle Arbeitsordner mit der rechten Maustaste auf eine Zeile, und klicken Sie dann auf Alle auswählen.

  3. Klicken Sie in der Tabelle Arbeitsordner mit der rechten Maustaste auf eine Zeile, und klicken Sie dann auf Kopieren.

  4. Erstellen Sie eine Textdatei, fügen Sie den Inhalt der Zwischenablage in die Textdatei ein, und speichern Sie sie dann.

  5. Erstellen Sie eine Builddefinition, oder ändern Sie eine vorhandene Builddefinition, die das Ziel der kopierten Zuordnungen bildet.

    Weitere Informationen finden Sie unter Erstellen einer einfachen Builddefinition oder Bearbeiten einer Builddefinition.

  6. Klicken Sie auf der Registerkarte Arbeitsbereich mit der rechten Maustaste auf eine Zeile in der Tabelle Arbeitsordner, klicken Sie dann auf Einfügen.

  7. Passen Sie ggf. die Zuordnungen für den Build-Agent an. Achten Sie insbesondere darauf, dass im Feld Ordner für Build-Agent der richtige Wert angegeben ist und dieser das ordnungsgemäße $(SourceDir)-Token enthält.

Weitere Informationen

Sie definieren den Build-Agent-Arbeitsbereich, wenn Sie eine Builddefinition erstellen. Weitere Informationen finden Sie unter Erstellen einer einfachen Builddefinition.

Der Mechanismus eines erstellten Build-Agent-Arbeitsbereichs entspricht im Grunde dem des Versionskontroll-Arbeitsbereichs, den ein Entwickler für die Arbeit mit Quelldateien in einem Teamprojekt verwendet. Sie können Zuordnungen zwischen einem Versionskontroll-Arbeitsbereich und einem Build-Agent-Arbeitsbereich kopieren. Weitere Informationen zu Versionskontroll-Arbeitsbereichen finden Sie unter Erstellen eines Arbeitsbereichs zum Arbeiten mit dem Teamprojekt.

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Mai 2011

Thema hinzugefügt.

Informationsergänzung.