Team Foundation Server 2010 installieren

Will man einen Team Foundation Server installieren, sollte dies eigentlich kein Problem darstellen, da eine sehr ausführliche Dokumentation mit beiliegt. Allerdings steckt der Teufel, wie immer, im Detail und codingfreaks möchte dem geneigten Leser das eine oder andere graue Haar ersparen. Ein kleines Video-Tutorial bietet endlich mal wieder ein wenig Multimedia auf codingfreaks!

Vorbemerkungen

Zunächst einmal zu ein paar grundsätzlichen Dingen in Bezug auf den TFS, die vielleicht den ein oder anderen Neuling interessieren. Der Team Foundation Server (oder halt kurz TFS) ist ein Werkzeug zur Umsetzung der sog. Continuous Integration. Letztlich verbergen sich dahinter mehrere Begriffe und Technologien. Wichtige Eckpunkte des TFS sind:

  • Quellcodeverwaltung
  • Dokumentverwaltung
  • Taskverwaltung inkl. Tracking
  • Testverwaltung und -automatisierung

Dabei benutzt der TFS viele Microsoft-Technologien, die man ansonsten eher aus anderen Bereichen kennt. Der Quellcode wird, im Unterschied zu alten Source-Safe-Zeiten, komplett im SQL-Server verwaltet und dort versioniert abgelegt. Die Team-Zusammenarbeit wird auf Wunsch über die Sharepoint-Plattform abgewickelt und für die ansonsten notwendigen Dienste bringt der TFS halt eigene Tools und Programme mit.

Der Vorteil dieser Infrastruktur ist zweifelsohne, dass sie sich nahtos in Windows-Server-Landschaften einbinden lässt. Der obligatorische SQL-Server kann ein bereits bestehendes System werden. Genauso verhält es sich mit dem Sharepoint Server, der sich auch ohne TFS einer immer größeren Beliebtheit und Verbreitung erfreut. Die Schattenseite dieser Medaillie ist nun aber, dass die Installation eines eigenständigen TFS keine Trivialität mehr ist. Anders als bei SourceSafe reicht es nicht mehr aus, ein Tool oder einen Dienst zu installieren, um mit der Codeerstellung im Team beginnen zu können. Vielmehr muss man sich als Entwickler (denn meist ist einer der Developer im Team auch gleich noch der Server-Admin, wenn wir ehrlich bleiben wollen ;-)) nun auch mit einigen Server-Technologien vertraut machen.

Der Preis, der am Ende winkt, lohnt aber schon den Aufwand. Wer vielleicht schon einmal bei Codeplex bei einem Projekt mitgemacht hat weiß, wie rund und sorglos sich die Entwicklung mit TFS gestalten kann.

Wo kann ich das alles downloaden?

Sollte sich der Leser an dieser Stelle in der Überschrift wiederfinden, muss ich leider mit einer kleinen Enttäuschung auffwarten. Es gibt zwar für all die eingesetzte Software durch aus die obsoleten 120-Tage-Trialversionen bei Microsoft. Ich möchte allerdings hier so ehrlich sein und dringend von so einer Vorgehensweise abraten. Der Aufwand ist einfach zu hoch, um nur mal so zu testen und ich rate Entwicklern mit schmalem oder gar keinem Budget dringed, sich Subversion (SVN) anzusehen. Es bietet zwar nicht den Funktionsumfang in punkto Zusammenarbeit, ist aber ansonsten ein sehr mächtiges Quellcodeverwaltungs-Tool.

Das Testsystem

Wie so oft in letzter Zeit nutzen wir auch für dieses Tutorial einen virtualisierten Windows Server. Hier ein paar Grund-Einstellungen unserer VMWare Workstation 7  Maschine:

  • 3 GB RAM
  • 1 Prozessor
  • 40 GB Festplatte #1
  • 200 GB Festplatte #2

Die 2. Festplatte ist durchaus ernst gemeint, wenn jemand ein Produktiv-System aufsetzen möchte. Hier wirft der SQL-Server seine Schatten vorraus und ich komme bei dessen Installation noch auf die Details zu sprechen.

Windows installieren und konfigurieren

Wir installieren Windows Server 2008 R2 Enterprise 64bit deutsch. Ein Standard-Server würde es auch tun, aber unser MSDN-Image lässt halt sowieso beides zu, also her mit dem Enterprise :-). Wichtig ist eigentlich nur, dass der Server nicht als Core-Server installiert wird. Der Core-Modus installiert zwar alle Kernkomponenten und führt zu einem richtigen Server, er bringt aber keine GUI mit und man befindet sich quasi im Runlevel 3, arbeitet also mit der Konsole. Das bringt uns nicht weiter und deshalb die Vollinstallation.

Nach erfolgreicher Installation des Servers sollte man dieses bei Microsoft aktivieren und sich dann als erstes als „Administrator“ anmelden. Bitte nicht als ein User mit lokalen Adminrechten anmelden, weil es hierbei erfahrungsgemäß zu Unregelmäßigkeiten während des Setups kommen kann. Alle restlichen Schritte also bitte immer als der Benutzer „Administrator“ ausführen.

Nach der Anmeldung als Administrator muss zunächst eine sog. Serverrolle hinzugefügt werden. Der TFS benötigt für verschiedene Services einen Internet Information Server (IIS). Um ihn zu installieren, wählt man aus dem Startmenu die Option „Servermanager“ aus. Meist wird der Servermanager aber beim Starten gleich mitgeladen, also reicht ein wenig Geduld auch aus. Nach der frischen Installation sollte die Liste der Rollen (nach einer kurzen Wartezeit) anzeigen, dass 0 von 17 Rollen (also keine) installiert sind. Das müssen wir nun ändern.

Rechts in der Rollenübersicht befindet sich ein Link mit dem Titel „Rollen hinzufügen“. Klickt man diesen an, erscheint ein typischer Assistent. Den erste Schritt kann mit einem gröhlichen „Weiter“ überspringen. Im nächsten Schritt sollte man einen Haken bei „Webserver (IIS)“ setzen und „Weiter“ anklicken. Es kommt u.U. ein Dialog, der nachfragt, ob bestimmte Optionen mit installiert werden sollen: Ja natürlich!

Als nächstes erscheint eine Liste mit Optionen, bei denen folgendes angehakt sein muss:

  • ASP.NET (Setzt man hier den Haken kommt wieder ein Fragefenster, das man bitte bejaht)
  • Windows-Authentifizierung
  • IIS6-Verwaltungskompatibilität (inkl. der darunter befindlichen)

Ist alles so gesetzt kann es losgehen und man kann das Setup laufen lassen.

Wenn alles durch ist und der Server-Manager endlich meldet, dass 1 von 17 Rollen drin sind, kann man ja mal den Browser öffnen und „http://localhost“ eintippen und Enter drücken. Es sollte die Welcome-Seite des IIS 7 erscheinen und somit ist der Webserver installiert und läuft.

Zum Schluss beherzigen wir noch einen Tipp von Microsoft und legen einen neuen Benutzeraccount an. Am einfachten geht das, indem man im Startmenu unter „Verwaltung“ den Punkt „Computerverwaltung“ anklickt. In der Computerverwaltung öffnet man dann „Lokale Benutzer und Gruppen“, klickt „Benutzer“ an und wählt nach einem Rechtsklick im rechten Fensterbereich wählt man „Neuer Benutzer…“ aus dem Kontextmenu. Als Benutzername gibt man nun „TFSSERVICE“ ein, gibt ein Kennwort ein und klickt nacheinander auf die Häkchen 1 bis 3 darunter. Der Benutzer muss also sein Kennwort bei der nächsten Anmeldung nicht ändern, kann sein Kennwort überhaupt nicht ändern und sein Kennwort läuft nie ab.

SQL Server installieren

Jetzt kommt die Datenbank an die Reihe. Ich installiere einen SQL Server 2008 R2 Enterprise 64bit deutsch. Wer noch nie einen SQL Server installiert hat, sollte nicht dieses Tutorial als Startpunkt seiner Erfahrungen wählen. Da gibt es bessere im Netz. Ich möchte hier nur auf die Besonderheiten des Setups eingehen.

Nachdem man sich bis zum Schritt Funktionsauswahl durchgehangelt hat, sollte bitte folgende Optionen auf jeden Fall setzen:

  • Datenbankmoduldienste (inkl. der Childs)
  • Reporting Services
  • Verwaltungstools – Vollständig

Ich persönlich nehme die Analysis Services und die Integration Services auch noch mit. Wenn man das letztere anhakt, sollte man auch das „Business Intelligence Studio“ mitnehmen.

Wichtig wird nun der Schritt „Serverkonfiguration“. Dort sollte man zunächst das Konto „Netzwerkdienst“ für alle Dienste auswählen und den SQL Server Agent auf „Automatisch“ stellen.

Im Schritt „Datenbankmodulkonfiguration“ wähle ich den gemischten Anmeldemodus und vergebe ein Kennwort für den sa-Account. Dann klicke ich auf „Aktuellen Benutzer hinzufügen“ unten und warte, bis der „Administrator“ in der Liste erscheint. Außerdem ändere ich im Tab „Datenverzeichnisse“ grundsätzlich die Pfade so, dass die Daten auf der zweiten Partition landen. Im Idealfall sollte diese Partition auch physisch auf einer anderen Platte als der SQL-Server selbst landen. Im noch idealeren Fall sollten die Logs immer auf einer weiteren physisch getrennten Partition laufen, um den Server letztlich nich performanter zu machen.

Bei den weiteren Schritten sollte man ggf. bei der „Analysis Services-Konfiguration“ kurez innehalten und auch dort den aktuellen Benutzer hinzufügen und die Pfade ändern. Bei der „Reporting Services-Konfiguration“ belässt man die Standard-Installation bei.

Nachdem man dann alles abgenickt und die Installation gestartet hat, rödelt der Rechner eine Weile (15-30 Minuten) vor sich hin und zeigt dann fertig an.

Den SQL-Server kann man am besten testen, indem man in einer Konsole „netstat -a“ eingibt. Irgendein Dienst sollte auf Port 1433 lauschen. Ansonsten kann man auch das „SQL Server Management Studio“ aus dem Startmenu aurfufen. Nach einer kurzen Ladezeit meldet man sich an der Instanz „.“ (Punkt, gleich bedeutend mit localhost) an.

TFS installieren

Der Team Foundation Server bringt ein in Ordner unterteiltes Setup mit. Ich wähle die setup.exe aus dem x64-Ordner.

Wer sich an dieser Stelle fragt, wo die Sharepoint-Installation bleibt, der sei darüber informiert, dass der TFS 2010 die Sharepoint Services 3.0 gleich mit installiert. Konfigurieren tut er sie auch, aber leider fast immer falsch, was wir weiter unten noch näher beleuchten werden.

Nachdem man das Setup gestartet hat, möchte es im zweiten Schritt das Dienstkonto wissen. Hier wählen wie „TFSSERVICE“ und geben das zuvor gewählte Kennwort ein und klicken auf den Check-Haken neben dem Kontonamen. Sobald der Check erfolgreich war, gehts weiter zu Feature-Auswahl. Hier wählt man einfach alle Features aus und macht weiter.

Nach ein paar weiteren Klicks auf die Buttons unten (Fertig stellen heißt hier „Konfigurieren“) legt das Setup los. Achtung! Weil das Setup das .NET Framework 4 mitbringt, muss man nach diesem Step einen Neustart abnicken. Nach dem Neustart legt das Setup von allein wieder los.

Wenn alles erledigt ist, erscheint nun ein schickes Fensterchen in dem man den Haken für die Konfiguration stehen lässt und auf „Konfigurieren“ klickt. Jetzt geht das Theater los!

TFS konfigurieren

Microsoft hat es gut gemeint und die komplette TFS-Konfiguration in einen Assistenten gepackt. Der funktioniert eigentlich ganz gut. Man kann die sog. TFS Adminkonsole auch zu jedem anderen Zeitpunkt aus dem Startmenu aufrufen, aber das TFS-Setup macht das ja bereits für uns.

Der technische Hintergrund dieses Assistenten ist der folgende. Der TFS ist aufgebaut, dass er spätere Projekte in sog. Collections sammelt. Man kann also eine Collection für Tests, eine für zentrale Bibleotheken und eine für z.B. Kundenprojekte aufbauen. Intern verdrahtet der TFS Collections mit Sharepoint-Seiten. Da dies eine ziemlich knifflige Angelegenheit ist, nimmt einem der Assistent diese Arbeit ab und erstellt immer eine sog. „DefaultCollection“. Diese kann man später umbenennen, wenn der Assistent seine Arbeit erfolgreich abschließen kann, was halt meist nicht der Fall ist. Doch eins nach dem anderen.

Aufgrund der textuell schlecht zu beschreibenden komplexen Thematik habe ich die Beschreibung der nun folgenden Themen in ein Video verpackt. Das Video zeigt neben den entstandenen Problemen übrigens auch ein paar Ergebnisse der Konfiguration im Detail:

[flv:/wp-content/uploads/videos/tfs.flv 500 350]

Die Kurzform ist also: Der TFS fügt die beiden Dienstkonten nicht der Gruppe der Sharepoint-Farmadmins hinzu, sodass wir das händisch nachholen müssen. Damit keine „Leichen“ im System verbleiben sollte man außerdem die falsch eingerichtete(n) Datenbank(en) aus dem SQL Server entfernen.

Resumé

Letztlich hinterlässt das TFS-Setup immer einen seltsamen Beigeschmack. Seit der ersten Version ist man zwar tierisch glücklich, wenn es denn erstmal läuft, hat aber dabei das ungute Gefühl, nicht genau zu wissen, was man irgendwann mal richtig gemacht hat. Microsoft sollte vielleicht mal jemanden aus der Office-Setup-Riege an das Setup lassen oder die Beschreibung verbessern. Dabei darf allerdings nicht vergessen werden, dass der TFS halt kein wirkliches Einzelprodukt ist, sondern sich aus einer Reihe hochkomplexer MS-Systeme bedient. Ich kann nur hoffen, dass mein HowTo ein paar Leuten hilft.

5 Antworten auf „Team Foundation Server 2010 installieren“

  1. Der Artikel hat mir sehr geholfen.
    Allerdings befindet sich mein Server in einer Domain, wobei es beim der Bereitschaftsprüfung des Assistenten zu einem Fehler kam.
    Die Punkte Systemüberprüfung und SharePoint-Produkte ergaben einen Fehler. SharePoint erwartet ein Dienstkonto in der Domain für SharePoint-Dienste.

    Ich habe den Server zunächst aus der Domain genommen, den Assistenten erneut ausgeführt (nach einem Neustart) und nach der Konfiguration den Server wieder in die Domain implementiert.
    Danach konnte ich auch Domainbenutzern den Zugriff auf den TFS erlauben.

  2. Hallo Ksenia,

    Hat der Server zusätzlich Zugriff auf SAN? Wenn nein, dann halte ich den Platz für zu gering, da TFS im Standard bereits zuviel Platz verbraucht. Ansonsten bin ich etwas verwirrt wegen x345 und „e“. Ist es nun ein x oder e? Poste doch mal ein paar mehr Daten!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.