Ich erstelle eine VSTS-Build-Pipeline für die fortlaufende Integration und Bereitstellung eines MVC-Webprojekts. Mein Kunde will 0 Ausfallzeit im Falle des Einsatzes weiter, so dass wir die Quelle Steuerungsstrategie betrachtet Umstrukturierung und spaltete die einzelnen Code-Repository folgende:Partielle Bereitstellung mithilfe von VSTS-Builds - Strategie für die Quellcodeverwaltung
Kernfunktionen
- Eigenschaft 1
- Merkmal 2 .. ...
- Eigenschaft n
Wir planen Funktionen als Kind Zweige der Kernfunktion zu halten, und legen Sie einzelne Build-Vorlagen für jede der branc h und Unterzweige. Das ideale Szenario besteht also darin, dass bei einer Änderung des Hauptfunktionszweigs der Build mit vollem Code (Zweig + Unterzweige) bereitgestellt werden sollte. Wenn jedoch nur ein Feature-Zweig geändert wird, wird die fortgesetzte Bereitstellung nur für diesen Zweig ausgeführt oder das Feature in der Branche.
So sind die Fragen, die eine Anleitung benötigen, sind: -
- Ist die Idee der Funktion Verzweigung in Ordnung ist und kann auf die Produktion eingesetzt werden?
- Die .Net MVC-Anwendung ist eine n-Tier-Anwendung mit Web Tier-, Service- und Repository-Tiers. Soll ich die Service- und Repository-Layer auch in die Core- und Feature-Zweige aufteilen, um sie zu trennen?
Wenn ich den Dienst und Repository aufgeteilt, wie sollte die Kommunikation zwischen den verschiedenen Funktionen passiert:
Via Service Aufruf zu bedienen? Wenn Feature 1 eine Funktion von Feature 2 erfordert, ruft der Service von Feature 1 den Service von Feature 2 auf und führt das Ergebnis zusammen, um es an die GUI von Feature 1 zu senden.
Feature 1 Repository ruft Feature 2 Repository auf, aber dieser Ansatz wird Abhängigkeit von Feature 1 auf Feature 2 bringen bedeutet, Feature 2 ist zum Zeitpunkt der Bereitstellung, Feature 1 ist auch Erfahrung Fehler.
Das Repository auf mehrere Features aufteilen ist eine gute Idee?
Dank
Seien Sie sehr vorsichtig in Bezug auf Terminologie. Die Art und Weise, wie Sie den Begriff "Feature Branch" verwenden, ist in der Branche nicht üblich. Ein Feature-Zweig dient zum Isolieren der Entwicklung eines neuen Features, nicht zum Verwalten der langfristigen Entwicklung verschiedener Anwendungskomponenten. –
@Daniel Mann, einverstanden mit Ihrem Kommentar. Aber die andere bekannte Terminologie, die ich kenne, ist der Submodul-Quellsteuerungsansatz, der vermutlich für die GIT-Quellsteuerung reserviert ist. Können Sie einen solchen Namen vorschlagen, der am besten zu dieser Frage passt? – Riky