Freigeben über


Konfigurieren von Team Foundation Build für einen inkrementellen Build

In diesem Thema wird das Definieren eines inkrementellen Builds mit der Upgradevorlage beschrieben. Weitere Informationen zur Upgradevorlage finden Sie unter Definieren eines Builds mithilfe der Upgradevorlage. Mit der Standardvorlage können Sie diese Prozedur leichter ausführen. Weitere Informationen finden Sie unter Definieren eines Builds mithilfe der Standardvorlage.

Bei einem inkrementellen Build werden die Ergebnisse eines vorherigen von Team Foundation Build verwalteten Builds verwendet, um einen optimierten Build auszuführen, der auf den Änderungen seit dem letzten Build basiert.

Nachdem Sie eine Builddefinition für inkrementelle Builds erstellt haben, führen Sie den ersten Build aus. Dadurch wird der erforderliche Arbeitsbereich erstellt. Anschließend werden alle Quelldateien abgerufen und auf dem Buildcomputer gespeichert.

Vorbereitungsmaßnahmen

Sie können diese Aufgabe erst ausführen, wenn Sie für Folgendes gesorgt haben:

  • Zugriff auf die Datei TFSBuild.proj des anzupassenden Buildtyps.

    Jeder Teambuilddefinition ist eine TFSBuild.proj-Datei zugeordnet, die sich im Ordner $/MyTeamProject/TeamBuildTypes/MyBuildName in Team Foundation-Versionskontrolle befindet. MeinTeamprojekt ist der Name Ihres Teamprojekts. Dies ist der Stammknoten Ihrer gesamten Teamprojektquellen. MyBuildName steht für den Namen Ihrer Builddefinition. Weitere Informationen zum Erstellen von Team Foundation Build-Buildtypen finden Sie unter Erstellen einer einfachen Builddefinition.

  • Einen lokalen Arbeitsbereich, der die Teamprojektdateien und die Builddateien auf dem lokalen Computer enthält

    Weitere Informationen finden Sie unter Erstellen eines Arbeitsbereichs und Abrufen von Dateien und Abrufen der Quelle für das Teamprojekt.

Tipp

Wenn Sie einen Build in die Warteschlange stellen, können Sie auch eine inkrementelle Buildausführung vornehmen, indem Sie in den Parameter MSBuild-Argumente die folgende Zeichenfolge einschließen: /p:IncrementalBuild=true. Weitere Informationen finden Sie unter Stellen eines Builds in die Warteschlange.

Erforderliche Berechtigungen

Damit Sie diese Aufgabe ausführen können, müssen die Berechtigungen Build verwalten und Arbeitsbereiche verwalten auf Zulassen festgelegt sein. Weiterhin müssen die Berechtigungen Einchecken und Auschecken auf Zulassen festgelegt sein. Weitere Informationen finden Sie unter Team Foundation Server-Berechtigungen.

Abrufen einer lokalen Kopie der Datei TFSBuild.proj

Bevor Sie Änderungen an der Datei TFSBuild.proj vornehmen, die die Builddefinition definiert, benötigen Sie eine lokale Kopie dieser Datei.

So erstellen Sie eine lokale Kopie der Datei TFSBuild.proj

  1. Wählen Sie im Menü Ansicht die Option Weitere Fenster und anschließend Quellcodeverwaltungs-Explorer aus.

  2. Klicken Sie im Quellcodeverwaltungs-Explorer auf der Symbolleiste auf Arbeitsbereiche, und wählen Sie in der Liste den neuen Arbeitsbereich aus.

  3. Öffnen Sie den Teamprojektordner, der den Buildtyp enthält, und erweitern Sie dann den Ordner TeamBuildTypes.

  4. Klicken Sie mit der rechten Maustaste auf die Datei TFSBuild.proj, und wählen Sie Letzte Version abrufen aus, um die neueste Version der Datei zu kopieren.

    Weitere Informationen finden Sie unter Abrufen der Quelle für das Teamprojekt.

Festlegen von Eigenschaften in der Datei TFSBuild.proj

Um einen inkrementellen Build anzugeben, müssen Sie die IncrementalBuild-Eigenschaft in der Datei TFSBuild.proj festlegen.

So legen Sie Eigenschaften in der Datei TFSBuild.proj fest

  • IncrementalBuild ist eine benutzerfreundliche Eigenschaft, die SkipClean auf true, SkipInitializeWorkspace auf true und ForceGet auf false festlegt.

  • Wenn mit Team Foundation Build ein vollständiger Build ausgeführt wird, werden die Dateien aus dem Ordner für Zwischenbuilds sowie aus dem Quellordner im Clean-Ziel bereinigt. In einem inkrementellen Build muss dieses Ziel übersprungen werden, da diese Dateien für den nächsten Build intakt sein müssen. Um dies zu erreichen, wird SkipClean auf true festgelegt.

  • Im Zuge eines vollständigen Builds wird der ursprüngliche Arbeitsbereich von Team Foundation Build gelöscht, und ein neuer Arbeitsbereich wird erstellt, um die Quelldateien zu bereinigen und zu synchronisieren. In einem inkrementellen Build muss auch dieses Ziel übersprungen werden. Um dies zu erreichen, wird SkipInitializeWorkspace auf true festgelegt.

  • Mithilfe der Get-Aufgabe ruft Team Foundation Build in der Standardeinstellung neue Quelldateien ab und überschreibt die vorhandenen Dateien im Buildarbeitsbereich. Um nur die geänderten Dateien abzurufen, wird die ForceGet-Eigenschaft auf false festgelegt.

    Um die IncrementalBuild-Eigenschaft auf true festzulegen, fügen Sie die PropertyGroup-Definition am Ende der Datei TFSBuild.proj vor dem abschließenden </project>-Tag ein.

       <PropertyGroup>
          <IncrementalBuild>true</IncrementalBuild>
       </PropertyGroup>
    

Siehe auch

Konzepte

Benutzerdefinierte Team Foundation-Buildziele

Senden von Änderungen