Arbeiten mit Buildarbeitsbereichen

So wie Sie einen Arbeitsbereich auf dem Entwicklungscomputer benötigen, um die Anwendung zu entwickeln, müssen Sie den Arbeitsbereich angeben, den der Build-Agent verwendet, um die App zu erstellen und zu testen.

Was möchten Sie tun?

  • Einen Arbeitsbereich für die Builddefinition angeben

  • Siehe Beispiel für eine Buildarbeitsbereichsdefinition

  • Daten zwischen Arbeitsbereichen kopieren

  • Die Funktionsweise eines Buildarbeitsbereichs verstehen

Einen Arbeitsbereich für die Builddefinition angeben

Wenn Sie den Buildprozess definieren, sollten Sie einige bewährte Methoden beim Angeben des Arbeitsbereichs befolgen.

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 Projekte 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 Projekte entfernen, suchen Sie auch nach Zuordnungen, die Sie aus dem Arbeitsbereich entfernen können.

Tipp

Weitere Informationen zum Optimieren des Arbeitsbereichs finden Sie unter Optimieren des Arbeitsbereichs.

Verwenden Sie das $(SourceDir)-Token, 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. Im Folgenden ein Beispiel: Ein Entwickler checkt Änderungen an einem Ordner ein. Der Ordner ist im Arbeitsbereich einer Builddefinition zugeordnet und diese Builddefinition verfügt über einen Trigger Abgegrenzter Eincheckvorgang. Die Änderungen werden blockiert, bis der Buildprozess abgeschlossen ist.

Beispiel für einen Builddefinitions-Arbeitsbereich

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

Beispiel für einen Builddefinitions-Arbeitsbereich

Schritt 1Mit 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 3Die 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.

Daten zwischen Arbeitsbereichen kopieren

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

So kopieren Sie Zuordnungen aus einem der Arbeitsbereiche

  1. Wählen Sie die Option Vorhandenen Arbeitsbereich kopieren aus.

  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 Quelleinstellungen.

    • Um Zuordnungen aus dem Arbeitsbereich eines anderen Teammitglieds zu kopieren, bitten Sie das Teammitglied, in der Menüleiste die Option Datei und dann Quellcodeverwaltung, Erweitert und Arbeitsbereiche auszuwählen. Wählen Sie den Arbeitsbereich aus, und klicken Sie auf die Option Bearbeiten.

  2. Öffnen Sie das Kontextmenü für eine Zeile in der Tabelle Arbeitsordner, und wählen Sie dann Alle auswählen aus.

  3. Öffnen Sie das Kontextmenü für eine Zeile in der Tabelle Arbeitsordner, und wählen Sie dann Kopieren aus.

  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 oder Bearbeiten einer Builddefinition.

  6. Öffnen Sie auf der Registerkarte Quelleinstellungen in der Tabelle Arbeitsordner das Kontextmenü für eine Zeile, und wählen Sie dann Einfügen aus.

  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.

Die Funktionsweise eines Buildarbeitsbereichs verstehen

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 1Sie legen das Arbeitsverzeichnis für die einzelnen Build-Agents im Buildsystem fest. Weitere Informationen finden Sie unter Bereitstellen und Konfigurieren eines 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-Workflowaktivität, um einen Arbeitsbereich im Arbeitsverzeichnis zu erstellen.

Schritt 4Der Buildprozess verwendet die DownloadFiles-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).