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:
- Wechseln in den Code-Bereich
- Die Auswahlbox des Repositories öffnen
- Jetzt siehst Du weitere Aktionen wie zum Beispiel ein Neues Repository anlegen oder importieren
- Mit einem Klick öffnet sich ein Dialog wo Du ein weiteres Git Repository anlegen kannst, funktioniert interessanterweise auch für die klassische TFVC Variante
- Anschliessend erscheint das neu angelegte Git Repository in der Auswahlliste
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!
1 Kommentar.
[…] a good place to store spikes that are developed by more than one developer. I got this tip from a post by René Leupold and could save a lot of time – I hope the same will be true for your […]