dependency foundation DL wf - aitgmbh.de · Visual Studio Team Foundation Server Dependency...

2
Visual Studio Team Foundation Server Dependency Foundation Übersichtlicheres Release-Management Deutliche Produktivitätssteigerung in der Entwicklung Verbesserung der Transparenz Schnellere Bewertung der Stabilität von Komponenten Zentrale Überwachung der Abhängigkeitsarchitektur Visual Studio ist eine eingetragene Marke der Microsoft Corporation in den USA und/oder anderen Ländern. IHR NUTZEN / FUNKTIONSÜBERSICHT Eine Plattform bestehend aus verschiedenen Komponen- ten wird ganz oder teilweise von verschiedenen Applika- tionen benutzt Für den lokalen Build ist es nötig, eine weitere Solution aus dem Source Control an die richtige Stelle auf dem lokalen Rechner herunterzuladen Es soll ermittelt werden, welche Komponenten in welcher Version von einer Komponente für den Build verwendet wurden Es soll flexibel zwischen der Einbindung der Abhängig- keiten in Form von Source Code und vorgebauten Assemblies gewechselt werden können Es soll ermittelt werden, ob eine Applikation eine Komponente in mehreren Versionen verwendet, um Versionskonflikten vorzubeugen Übersichtlicheres Release-Management durch klar definierte und versionierte Abhängigkeiten Deutliche Produktivitätssteigerung in der Entwicklung durch vereinfachte Vorbereitung der Arbeitsumgebung Verbesserung der Transparenz der team-übergreifenden Arbeit an Komponenten Schnellere Bewertung der Stabilität von Komponenten Zentrale Überwachung der Abhängigkeitsarchitektur in einem Werkzeug ANWENDUNGSBEISPIELE AIT GmbH & Co KG Leitzstraße 45 · 70469 Stuttgart Tel.: +49 711 49066 430 Fax: +49 711 49066 440 [email protected] · www.aitgmbh.de Ansprechpartner - AIT TeamSystemPro TEAM: Herr Sven Hubert, +49 711 49066 431 „Habe ich Ihr Interesse geweckt? Dann freue ich mich über Ihren Anruf zur Betrachtung unseres Frameworks.“ Abbildung 4: Abhängigkeitsschema für verschiedene Produktpakete Wir unterstützen Sie in den folgenden Bereichen: Team Foundation Server Visual Studio Consulting Neue Chancen mit der Cloud Computing Plattform .NET Software-Entwicklung .NET Migration Architektur Beratung .NET Coaching

Transcript of dependency foundation DL wf - aitgmbh.de · Visual Studio Team Foundation Server Dependency...

Page 1: dependency foundation DL wf - aitgmbh.de · Visual Studio Team Foundation Server Dependency Foundation Übersichtlicheres Release-Management Deutliche Produktivitätssteigerung in

Visual Studio Team Foundation Server

Dependency Foundation Übersichtlicheres Release-Management

Deutliche Produktivitätssteigerung in der Entwicklung

Verbesserung der Transparenz

Schnellere Bewertung der Stabilität von Komponenten

Zentrale Überwachung der AbhängigkeitsarchitekturVisual Studio ist eine eingetragene Marke der Microsoft Corporation in den USA und/oder anderen Ländern.

IHR NUTZEN / FUNKTIONSÜBERSICHT

Eine Plattform bestehend aus verschiedenen Komponen- ten wird ganz oder teilweise von verschiedenen Applika- tionen benutzt Für den lokalen Build ist es nötig, eine weitere Solution

aus dem Source Control an die richtige Stelle auf dem lokalen Rechner herunterzuladen Es soll ermittelt werden, welche Komponenten in welcher

Version von einer Komponente für den Build verwendet wurden Es soll fl exibel zwischen der Einbindung der Abhängig-

keiten in Form von Source Code und vorgebauten Assemblies gewechselt werden können Es soll ermittelt werden, ob eine Applikation eine

Komponente in mehreren Versionen verwendet, um Versionskonfl ikten vorzubeugen

Übersichtlicheres Release-Management durch klar defi nierte und versionierte Abhängigkeiten Deutliche Produktivitätssteigerung in der Entwicklung

durch vereinfachte Vorbereitung der Arbeitsumgebung Verbesserung der Transparenz der team-übergreifenden

Arbeit an Komponenten Schnellere Bewertung der Stabilität von Komponenten Zentrale Überwachung der Abhängigkeitsarchitektur in

einem Werkzeug

ANWENDUNGSBEISPIELE

AIT GmbH & Co KGLeitzstraße 45 · 70469 Stuttgart

Tel.: +49 711 49066 430Fax: +49 711 49066 440

[email protected] · www.aitgmbh.de

Ansprechpartner - AIT TeamSystemPro TEAM:Herr Sven Hubert, +49 711 49066 431

„Habe ich Ihr Interesse geweckt?Dann freue ich mich über Ihren Anruf

zur Betrachtung unseres Frameworks.“

Abbildung 4: Abhängigkeitsschema für verschiedene Produktpakete

© ps

desig

n1 -

Fotol

ia.co

m

Wir unterstützen Sie in den folgenden Bereichen:

Team Foundation Server Visual Studio Consulting

Neue Chancen mit der Cloud Computing Plattform

.NET Software-Entwicklung.NET Migration

Architektur Beratung.NET Coaching

Page 2: dependency foundation DL wf - aitgmbh.de · Visual Studio Team Foundation Server Dependency Foundation Übersichtlicheres Release-Management Deutliche Produktivitätssteigerung in

PROBLEMSTELLUNG

LÖSUNG

Abhängigkeiten gibt es viele in Software-Entwicklungspro-jekten. Von besonderem Interesse sind die Build-Abhän-gigkeiten der Komponenten, die beim Bauen, Ausliefern und Warten des Produktes beachtet und verwaltet werden müssen. Mit Visual Studio Ultimate können Build-Abhän-gigkeiten einer Assembly oder einer Solution mit Hilfe des Architecture Explorer ausgewertet und dargestellt werden. Nicht wenige größere Projekte müssen mit einer Vielzahl von Solutions und Visual Studio-Projekten umgehen. Hier entsteht eine technische Lücke im Team Foundation Server, welche auch in TFS 11 nicht geschlossen werden wird.

Eine Solution besteht vereinfacht aus Projekten, die unter-einander und nach außen Abhängigkeiten besitzen. Die Abbildung oben verdeutlicht das.

Bei den äußeren Abhängigkeiten handelt es sich neben Re-ferenzen auf das .NET Framework und Komponenten von Drittanbietern auch um In-House gebaute Komponenten – also Zulieferungen anderer Teams oder Abteilungen. Dies geschieht aus Gründen der Wiederverwendung oder aber auch der besseren Arbeitsteilung wegen. Christian Bin-der von Microsoft Deutschland arbeitet seit 2010 mit dem AIT TeamSystemPro Team an diesem Thema.

Ein Branch-zentrischer AnsatzEine ganz konkrete Lösungsmöglichkeit soll nun im Folgen-den anhand eines Beispiels erarbeitet werden.Dabei gehen wir von einem Branch-zentrischen Ansatz aus. Das Projekt ist in verschiedene Teilbereiche (wie z.B. Plattform und Applikation) aufgeteilt. Jeder Teilbereich agiert als Zulieferer für konsumierende Teilbereiche – be-sitzt also ein eigenes Release-Management und wird binär über Build-Ergebnisse an die Konsumenten übergeben.

Die folgende Grafi k zeigt diese Abstraktionsebene:

Mit den Boardmitteln von .NET Framework und TFS kommt man nun nicht mehr aus, wenn Abhängigkeiten zwischen Solutions verschiedener Teamprojekte und Branches kom-fortabel verwaltet werden sollen. Einige Anpassungen und Erweiterungen sind nötig, um den entstehenden Abhängig-keitsbaum verwalten zu können.

Das Konzept zur Lösung besteht im Wesentlichen aus einer Abhängigkeitsdefi nitionsdatei, die jede Komponente enthält und die direkten Abhängigkeiten defi niert. Diese defi niert, welche Komponente in welcher Version aus welcher Quelle bezogen werden soll. Da die Datei in der Quellcodeverwal-tung enthalten ist, kann diese entsprechend gemeinsam mit der Komponente versioniert werden. So können beliebige

frühere Versionen der Komponente aus dem TFS Source Control heruntergeladen werden – die Abhängigkeitsdefi -nitionsdatei entspricht dem damaligen Stand. Ein langwieriges Einrichten der lokalen Umgebung sowie lange Build-Zeiten können so vermindert werden. Die Ab-hängigkeitsdefi nitionsdateien können dynamisch analy-siert werden. Dadurch wird es möglich, einen Abhängig-keitsgraph des Produkts zu berechnen. So kann dieser zur Analyse von zirkulären Abhängigkeiten und Mehrfach-verwendung gleicher Komponenten in unterschiedlichen Versionen eingesetzt werden.

Die Lösung, die in einer Kooperation der AIT mit Microsoft entstand, versteht sich als erweiterbare Ergänzung zu TFS und Visual Studio. Das Visual Studio Plug-In umfasst so zum Beispiel Funktionen wie das Be-ziehen der Abhängigkeiten auf die lokale Maschine aus anderen Source Control Branches oder von fertigen Build-Ergebnissen.

Abbildung 1 - Solution-Struktur Abbildung 2 - Branch-Struktur im Kontext der Teamprojekte

Gerd

Altma

nn/S

hape

s:AllS

ilhou

ettes

.com

/ pi

xelio

.de

Abbildung 3 - Dependency Management

und Visual Studio. Das Visual Studio Plug-In umfasst so

lokale Maschine aus anderen Source Control Branches oder von fertigen

Preisauf Anfrage