Ich suche nach "Best Practices" für Rollen und Verantwortlichkeiten, insbesondere für die Zusammenführung von Entwicklungszweigen zu Trunk (oder Main). Grundsätzlich suche ich Munition, um meiner Sache zu helfen.
Lassen Sie mich beschreiben, was ich vor mir habe. Ich bin der Hauptentwickler (Eigentümer) einer bestimmten Anwendung. Unser Unternehmen ist kürzlich von VSS (wo ich der Administrator der VSS-Datenbank war, in der meine Anwendung gespeichert war) zu TFS gewechselt (wo ich nur Berechtigungen für Entwicklungszweige habe, die von unserem "Operations" -Team erstellt wurden). In früheren Jobs war ich TFS-Administrator, daher kenne ich mich mit TFS und MSBuild aus.
Ich habe kein Problem mit der verwendeten Verzweigungs- und Zusammenführungsstrategie (Hauptzweig, bei dem Fehler- / Projektentwicklungszweige nach Bedarf erstellt, wieder zum Hauptzweig zusammengeführt und dann zu einem Release-Zweig befördert werden). Die Probleme, die ich habe, sind:
Ich kann keine eigenen Zweige erstellen. Ich muss eine TFS-Aufgabe erstellen, damit ein Mitglied des "Operations" -Teams den Zweig für mich erstellt.
Ich kann nicht von Main zu meinem Entwicklungszweig zusammengeführt werden. Ich muss eine TFS-Aufgabe erstellen, damit ein "Operations" -Teammitglied die Zusammenführung durchführt, und dann hoffe, dass er auf keine Änderungen meines Teams "tritt", da der "Ops-Typ" möglicherweise ein Entwickler ist oder nicht wenig bis gar keine Kenntnis des Codes, den er zusammenführt.
Ich kann nicht von der Entwicklung zum Main verschmelzen. Wieder muss ich eine TFS-Aufgabe erstellen, damit der "Ops-Typ" die Zusammenführung durchführt, in der Hoffnung, dass er es richtig macht. Dann muss ich eine weitere TFS-Aufgabe erstellen, um sie wieder in meinem Zweig zusammenzuführen, damit ich alle Probleme beheben kann, die durch die Zusammenführung eines Nicht-Entwicklers mit Main aufgetreten sind.
Ich kann keine MSBuild-Skripte erstellen oder bearbeiten. Wieder muss ich mit dem "ops" -Team arbeiten, das neu in MSBuild ist, damit nur die grundlegendsten Build-Aufgaben ausgeführt werden können. (Vergessen Sie alles Komplexe oder verbieten Sie dem Himmel eine benutzerdefinierte Aufgabe).
Ich kann kein MSBuild-Skript ausführen. Auch dies kann nur das "Ops" -Team.
Um das Ganze abzurunden, handelt es sich normalerweise um eine "Offshore" -Ressource, die die angeforderten Aufgaben ausführt. Selbst wenn ich die Aufgabe am frühen Morgen für (Verzweigen / Zusammenführen / Erstellen) erstelle, wird sie wahrscheinlich nicht abgeschlossen bis zu diesem Abend.
Jetzt habe ich kein Problem damit, dass das "Operations" -Team die Release-Zweige verwaltet. Alles, was sie tun, ist (im Grunde), die neueste Version von Main zu nehmen und sie in den Release-Zweig zu befördern. Solange "Main" stabil und bereit ist, ist der Release-Zweig gut.
Meiner Meinung nach sollten technische Leads (wie ich) für die Wartung des Trunks ("Main") und die Zusammenführung zu / von den Entwicklungszweigen verantwortlich sein. Der Teamleiter sollte auch die Möglichkeit haben, MS Build-Skripts zum Erstellen und Bereitstellen in der Integrationstestumgebung zu generieren.
Kann mich jemand auf ein Best Practices-Dokument verweisen, das mir hilft, meinen Fall zu beweisen? Alle meine Suchen haben nur Best Practices in Bezug auf die Techniken des Verzweigens und Zusammenführens ergeben, und keine Erwähnung der WHO sollte diese Verzweigung / Zusammenführung durchführen.
WHO should be performing said branching/merging.
ist eine interne organisatorische Entscheidung. Nicht wirklich etwas, bei dem wir Ihnen helfen könnten ...