Frage

Ich habe über den Bereitstellungsprozess gedacht, ich bin derzeit mit, und ich frage mich, ob es ein guter Weg, um den Code zu behandeln Verzweigung / Tagging, die sein wird, zu / hat zur Produktion freigegeben.

Irgendwann möchte ich einen Zweig als Release-Zweig machen und in letzter Minute Änderungen an der Verzweigung und loslassen. Dann, nachdem die Freigabe es ich will es als Tag speichern.

Um zu klären, ich bin auf der Suche nach Konventionen für die Benennung, den Umgang mit den Zweigen, und die Tagging-Handling. Ich frage mich auch, ob es Alternativen gibt, wie ich rede, die Situation handhaben.

  • Sie nennen die Release-Zweige oder den gleichen Release-Zweig mit neuem Code verwenden, jedes Mal?
  • Löschen Release Zweige, sobald sie als Tags existieren?
  • Wie nennen Sie Ihren branches / tags?
War es hilfreich?

Lösung

Ich schlage vor, das Lesen Sie diese Antwort

Release Management in SVN

Im Grunde haben einen Zweig namens RELEASE Sie von dort markieren können, wenn Sie wollen. Und halten Sie die bleeding edge Codeversion in trunk

Was Release Namensgebung angeht: es hängt davon ab, was Sie am besten geeignet ist und wer sind die Menschen, die Release-Nummer zu sehen

.

Denken Sie MajorRelease.MinorRelease mit dann vielleicht irgendwo für die technisch interessiert Sie auch ein Patch Release-Nummer (e.gg App automatischen Aktualisierungen und major.minor bleibt gleich) angeben können.

Wichtige: große Veränderungen -> Neue Funktionen / Pausen-Kompatibilität Minor: Schnittstelle kompatibel (z.B. Leistung) Patch: Fehlerbehebung

Andere Tipps

Sie können die Informationen verwenden, hier als Anleitung, auch wenn Sie nicht TFS verwenden.

Branching Guidance

Es gibt viele Möglichkeiten, um auf zu arbeiten. Der, den ich verwenden ist folgende:

project_repository
|
|- trunk //Where the current in support release is.
|
|- branches //Where new features/big fixes or refactors are made.
|
|- tags //Where all releases are tagged.
     |
     |- releases //where all release tags are located
     |- daily //where all daily tags are located.

Die Namensgebung wir verwenden, ist die folgende:

  • Für Zweige wir den Zweig nennen, was die wichtigsten Aufgaben, die darin gemacht werden wird. (ZB: admin_module_refactor)
  • Für Tags wir die Tags mit der Versionsnummer nennen (mayor.minor.micro zB. 1.0.2), wenn sie zu einem Release-Tag entsprechen. Oder mit dem Datum für die tägliche Arbeit Tags. (ZB: JJ_MM_TT)

Für diese Struktur folgen und Namenskonventionen, haben wir eine Reihe von Tools und Skripte, die auf diese Weise helfen zu arbeiten. Auch tägliche Tags werden durch einen Build-Server alle Nächte.

ich den Build-Prozess mit CruiseControl.Net automatisiert. Wir hatten die entsprechen den Build-Nummern baut so die DLL-Version 6.5.4.1234 sein würde. Die 6 und 5 immer würde manuell aktualisiert werden, wenn wir größere und kleinere Versionen hatten. Die 4 wurde manuell nach einer Build aktualisiert (und die 1234 wurde auf 0 dann auch zurückgesetzt). Der Erstellungsprozess der 1234-1235 immer aktualisiert.

Wenn wir von einem Stamm freigegeben (die Version immer 6.0.0.x wäre), würden wir manuell verzweigen und es Branch_6_0 nennen. Der Zweig würde dann als 6.0.1 bauen. Trunk bewegen würde auf 6,1 oder 7,0.

CruiseControl- hatte zwei Modi (dev und Test). Der Test wurde immer auf Verlangen und würde einen Zweig entsprechend der Build-Version erstellen.

  

Irgendwann möchte ich einen Zweig machen   als Release-Zweig und machen jede   Last-Minute-Änderungen an der Branche und   loslassen

Dies ist das Bit, das mir Sorgen. Normalerweise werden Sie einen Zweig machen, tun alle Ihre Entwicklung auf sie, dann diesen Zweig mit dem Stamm reintegrieren. Erstellen Sie Ihren Tag von diesem Punkt auf dem Stamm. Wenn Sie weitere Änderungen vornehmen wollen, einen neuen Zweig erstellen, bearbeiten, reintegrieren und Re-Release.

Versuchen Sie nicht, Änderungen an den Release-Zweig zu machen, wie Sie sie verlieren, oder haben eine unruhige Zeit, sie wieder mit dem Stamm zusammengeführt werden.

Der alternative Ansatz Verzweigung zu lösen ist alle Entwicklungs Änderungen an Stamm und wenn Sie bereit sind, erstellen Sie eine Freigabe / Tag Zweig. Für einen kleinen Entwickler-Shop, ist dies in der Regel der einfachste Weg zu gehen. (Der andere Ansatz funktioniert gut, wenn Sie große Änderungen an ein Produkt machen, dass alle andere Änderungen auch machen).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top