Ich will Speed – Mehrere Git-Repositories in einem Visual Studio Team Services Projekt

Es gibt keinen Unterschied zwischen lernen und entdecken.
Trotzdem macht entdecken mehr Spass. – Georg-Wilhelm Exler

Der Team Foundation Server oder Visual Studio Team Services ist mir schon häufiger über den Weg gelaufen. Zugegeben, ich bin mir nicht sicher, wie der Service von Microsoft aktuell heisst. Im Unternehmen und bei Kunden ist es ein eingesetztes Werkzeug. Der Einsatz von Git für die Sourcecode-Verwaltung ist dabei auch mein bevorzugter Ansatz.

Gestern entdeckte ich dabei eine hilfreiche Funktion, die ich bisher in noch keinen TFS-Projekt angetroffen habe. Wie fand ich diese Funktion? In einem kleinen Kreis bewerteten wir Rahmenbedingungen und Entwurfsentscheidungen. Im agilen Umfeld ist es üblich auch mal kleine Spikes durchzuführen, um das Risiko besser abschätzen zu können.
Wir gelangten an einem Punkt wo es darum ging: Wie lassen sich Deployment-Monolithen vermeiden?

Dafür gibt es viele kleine Puzzlestücke die zusammen das Big Picture ergeben. Ein Puzzlestück, welches wir anschauten waren die Projekte und wie wir diese verwalten. Ein kleines Detail das es in sich haben kann. Der Trend geht immer mehr hin zu Microservices, dabei treffen wir auch häufig mehrere Projekte an, die alle in einem Sourcecode-Repository landen. Diese werden dann häufig mithilfe einer Verzeichnisstruktur voneinander getrennt oder Du erkennst es nur an den unterschiedlichen Projektmappen im Root-Verzeichnis. Für Continuous Delivery (CD) betrachte nicht nur ich diesen Ansatz als Antipattern.

Ein VSTS-Projekt für jeden Microservice kann ein Ansatz sein. Für unseren Prototyp wollen wir jedoch ein übergreifendes Backlog-Management, damit dem Product Owner der ständige Wechsel zwischen den verschieden Backlogs erspart bleibt.

In diesem Zusammenhang gibt es eine Funktion, mit der sich mehrere Repositories in einem Projekt anlegen lassen.

Folgendes Vorgehen anhand der Cloud-Variante ist dabei nötig:

  1. Wechseln in den Code-Bereich
    Administrationsbereich Code von Visual Studio Team Foundation Services
  2. Die Auswahlbox des Repositories öffnen
    Code-Abschnitt von VSTS
  3. Jetzt siehst Du weitere Aktionen wie zum Beispiel ein Neues Repository anlegen oder importieren
  4. Mit einem Klick öffnet sich ein Dialog wo Du ein weiteres Git Repository anlegen kannst, funktioniert interessanterweise auch für die klassische TFVC Variante
    Dialog zum Anlegen eines neuen Repository mit Angabe des Namen und der Art der Sourcecode-Verwaltung zur Auswal
  5. Anschliessend erscheint das neu angelegte Git Repository in der Auswahlliste
    Anzeige des angelegten Repositories in der Auswahl

Für unser Beispiel haben wir nun ein Projekt, in dem sich mehrere Repositories befinden. Ziel soll es dabei sein, dass diese unabhängig voneinander und automatisiert deployed werden können.

Was sind Deine Erfahrungen und welche Schritte unternimmst Du, um Deployment-Monolithen zu vermeiden? Dein Feedback interessiert mich!