Freigeben über


Gewusst wie: Anpassen von Buildnummern

Sie können Team Foundation Build anpassen, indem Sie eigene benutzerdefinierte Aufgaben erstellen und sie während eines Builds ausführen. In diesem Thema wird erläutert, wie Sie einen Team Foundation Build-Buildtyp mit einer Aufgabe anpassen, die Buildnummern generiert.

Vorbereitungsmaßnahmen

Bevor Sie die Aufgabe erstellen, um Buildnummern anzupassen, benötigen Sie Folgendes:

  • Zugriff auf die Datei TfsBuild.proj des Buildtyps, den Sie anpassen möchten

    Jeder Teambuildtyp wird durch eine TfsBuild.proj-Datei definiert, die sich im Ordner $/EigenesTeamprojekt/TeamBuildTypes/EigenerBuildname auf der Quellcodeverwaltung in Team Foundation befindet. EigenesTeamprojekt ist der Name Ihres Teamprojekts und der Stammknoten aller Ihrer Teamprojektquellen. EigenerBuildname ist der Name, den Sie Ihrem Buildtypen gegeben haben. Weitere Informationen zum Erstellen von Team Foundation Build-Buildtypen finden Sie unter Gewusst wie: Erstellen eines neuen Buildtyps.

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

    Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Arbeitsbereichs und Gewusst wie: Abrufen der Quellcodeverwaltung für das Teamprojekt.

  • Die erforderlichen Sicherheitsberechtigungen. Weitere Informationen finden Sie im Abschnitt Sicherheit in diesem Thema.

Schreiben der Buildnummernaufgabe

Um die Aufgabe zu schreiben, können Sie entweder die ITask-Schnittstelle direkt implementieren oder die Klasse von einer Task-Hilfsklasse ableiten. ITask ist in der Assembly Microsoft.Build.Framework.dll definiert, und Task ist in der Assembly Microsoft.Build.Utilitites.dll definiert.

Um die von Team Foundation Build generierte Buildnummer anzupassen, müssen Sie die Aufgabe in das BuildNumberOverrideTarget-Ziel einfügen. Für BuildNumberOverrideTarget ist eine Ausgabeeigenschaft namens BuildNumber. erforderlich. Das Output-Attribut zeigt an, dass die Eigenschaft eine Ausgabe Ihrer benutzerdefinierten Aufgabe ist. Weitere Informationen zu Team Foundation Build-Zielen finden Sie unter Benutzerdefinierte Team Foundation-Buildziele.

So schreiben Sie die benutzerdefinierte Aufgabe

  1. Erstellen Sie eine Visual C#-Klassenbibliothek mit dem Namen EigeneAufgabe, in der die benutzerdefinierte Aufgabe enthalten ist. Weitere Informationen finden Sie unter Komponentenklassen.

  2. Klicken Sie im Menü Projekt auf Verweis hinzufügen, und wählen Sie im Dialogfeld Verweis hinzufügen Microsoft.Build.Framework und Microsoft.Build.Utilities aus.

  3. Fügen Sie in der Datei class.cs den folgenden Code ein.

    Dieses Beispiel erbt von der Task-Hilfsklasse und verwendet die DateTime-Eigenschaften UtcNow und Ticks, um die Buildnummer zu generieren.

    using System;
    using Microsoft.Build.Utilities;
    using Microsoft.Build.Framework;
    
    namespace BuildNumberGenerator
    {
        public class BuildNumberGenerator:Task
        {
            public override bool Execute()
            {            
                m_buildNumber = DateTime.UtcNow.Ticks.ToString();
                return true;
            }
            private string m_buildNumber;
    
            [Output]
            public string BuildNumber
            {
                get { return m_buildNumber; }
            }
        }
    }
    
  4. Erstellen Sie die Klassenbibliothek, indem Sie die Datei EigeneAufgabe.dll erstellen.

  5. Kopieren Sie die erstellte DLL-Datei in den lokalen Arbeitsbereichsordner, in dem auch die Datei TfsBuild.proj des Team Foundation Build-Typs enthalten ist.

    Wichtig

    Sie müssen den Buildtyp Ihrem lokalen Arbeitsbereich zugeordnet haben, bevor diese Verzeichnisstruktur auf dem Clientcomputer angezeigt wird. Weitere Informationen finden Sie unter Gewusst wie: Abrufen der Quellcodeverwaltung für das Teamprojekt.

    Die Datei TFsBuild.proj befindet sich auf dem Clientcomputer unter <Stamm>: \Lokaler Arbeitsbereich\TeamBuildTypes\EigenerBuildname. Lokaler Arbeitsbereich ist der lokale Ordner, dem das Teamprojekt zugeordnet ist, EigenesTeamprojekt ist der Name Ihres Teamprojekts und EigenerBuildname ist der Name, den Sie dem Buildtypen gegeben haben.

Hinzufügen der DLL-Datei zur Quellcodeverwaltung

Nachdem Sie die DLL-Datei erstellt haben, die die benutzerdefinierte Aufgabe enthält, müssen Sie sie zu Quellcodeverwaltung in Team Foundation hinzufügen. Sie können die Befehle tf add und tf checkin verwenden, um die DLL-Datei am gleichen Ort, an dem sich die Datei TfsBuild.proj des Buildtyps befindet, hinzuzufügen und einzuchecken. Weitere Informationen finden Sie unter Befehl Add und unter Befehl Checkin.

So fügen Sie eine Assembly hinzu und checken sie ein

  1. Klicken Sie auf Start, zeigen Sie auf Alle Programme, dann auf Microsoft Visual Studio 2005, und klicken Sie anschließend auf Visual Studio 2005-Eingabeaufforderung. Öffnen Sie den lokalen Arbeitsbereich, den Sie dem Teamprojekt mit dem anzupassenden Buildtyp zugeordnet haben. Geben Sie an der Eingabeaufforderung beispielsweise Folgendes ein.

    > cd c:\ EigenesTeamprojekt

    EigenesTeamprojekt ist der Name Ihres Teamprojekts.

  2. Um zum Speicherort des Buildtyps zu navigieren, geben Sie an der Eingabeaufforderung Folgendes ein.

    c:\MyTeamProject>cd TeamBuildTypes\MyBuildName

    EigenerBuildname ist der Name des Buildtyps.

  3. Geben Sie den folgenden Befehl ein, um die Datei zu Quellcodeverwaltung in Team Foundation hinzuzufügen.

    c:\EigenesTeamprojekt\TeamBuildTypes\EigenerBuildname > tf add EigeneAufgabe**.dll**

  4. Geben Sie folgenden Befehl ein, um die Datei in Quellcodeverwaltung in Team Foundation einzuchecken.

    c:\EigenesTeamprojekt\TeamBuildTypes\EigenerBuildname > tf checkin EigeneAufgabe**.dll**

  5. Sie können auch den Team Explorer verwenden, um die DLL-Datei zu Quellcodeverwaltung in Team Foundation hinzuzufügen. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen eines Projekts oder einer Projektmappe zur Quellcodeverwaltung.

Registrieren der Aufgabe

Nachdem Sie die Aufgabe erstellt haben, müssen Sie sie registrieren, indem Sie sie in einem UsingTask-Element in der Datei TfsBuild.proj angeben. Das UsingTask-Element ordnet die Aufgabe der Assembly zu, die die Implementierung der Aufgabe enthält. Weitere Informationen finden Sie unter UsingTask-Element (MSBuild).

So registrieren Sie die Aufgabe durch Ändern der Datei TFSBuild.proj

  1. Starten Sie Visual Studio.

  2. Checken Sie die Datei TfsBuild.proj, die Sie ändern möchten, aus der Quellcodeverwaltung in Team Foundation aus, und öffnen Sie sie im Visual Studio-XML-Editor.

  3. Fügen Sie der Datei TfsBuild.proj das UsingTask-Element sofort nach der Importanweisung hinzu.

    <UsingTask 
        TaskName="BuildNumberGenerator.BuildNumberGenerator" 
        AssemblyFile="MyTask.dll"/>
    
  4. Um Ihre Aufgabe in das BuildNumberOverrideTarget-Ziel einzufügen, fügen Sie am Ende der Datei TFSBuild.proj folgenden XML-Code fett formatiert hinzu.

    </ItemGroup>
      <Target Name = "BuildNumberOverrideTarget" >
        <BuildNumberGenerator> 
        <Output TaskParameter="BuildNumber" PropertyName="BuildNumber"/> 
        </BuildNumberGenerator> 
      </Target>
    </Project>
    
  5. Klicken Sie auf Datei und auf Speichern, um die Änderungen zu speichern. Schließen Sie anschließend TFSBuild.proj.

  6. Checken Sie TFSBuild.proj wieder in die Quellcodeverwaltung ein.

  7. Führen Sie den Buildtyp aus, nachdem Sie die Datei TFSBuild.proj geändert und die Änderungen in Quellcodeverwaltung in Team Foundation gespeichert haben. Weitere Informationen finden Sie unter Gewusst wie: Ausführen eines Builds mit einem Buildtyp

  8. Sie können die benutzerdefinierte Buildnummer im Team Build Browser anzeigen. Weitere Informationen finden Sie unter Gewusst wie: Überwachen des Buildstatus.

Sicherheit

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.

Siehe auch

Weitere Ressourcen

Verwalten von Builds mit Team Foundation Build
Anpassen von Team Foundation Build