Wie verwende ich mercurial für das Release-Management?

Dies ist eine Cousine-Frage mit meinem frühere Frage von "Verwalten der gleichzeitigen Entwicklung mit mercurial", das den Workflow einzelner Entwickler abdeckt. Die Beantwortung dieser Frage beeinflusst tatsächlich die Wahl des Entwickler-Workflows.

Das istNICH eine allgemeine "Release Management Best Practice" oder CI-Frage, wie es warfragt viel ma mit guten Antworten, und es gibt eine riesige Menge an Literatur, um die Zeit totzuschlagen.

Ich frage nur nachspezifische Möglichkeiten zur Verwendung von Mercurial im Rahmen des Release-Managements.

ie naheliegendste und vorherrschendste Antwort wäre angeblich stable / default, das vom @ vollständig abgedeckt wibeautiful blog von @Steve Losh, und genauer gesagt ineine Antwor von ihm. Es ist einfach und effektiv.

Ein prominentes Beispiel für dieses Setup ist hg selbst. hg benutzt ein paar mehr Repositories für die aktive Entwicklung, aber für das Release-Management scheint alles in den stable / default-Zweigen des @ enthalten zu semain repo.

Das hg-Setup zeigt tatsächlich eine Variation oder eher eine erweiterte Version von stable / default:branch clone. Ich habe den Prozess in @ beschriebeine Antwor auf eine Frage zu Named Branch vs. Multiple Repos (mit einem anderengute Antwor von @Martin Geisler). In meiner Antwort habe ich vergessen zu erwähnen, wie der Zweigklon für den Entwicklerworkflow funktioniert: Wenn Sie einen Fehler für einen Zweig beheben müssen, würden Siehg clone <main repo>#<branch> abernich der Zweigklon, da Ihr Änderungssatz immer noch zum Hauptrepo zurückkehrt und automatisch zum Zweigklon verschoben wird. Natürlich können Sie wählen, nicht zu klonen und nurhg update <branch> in Ihrem Hauptklon, aber die meisten Argumente für die Verwendung separater Klone (insbesondere der unabhängige Build) gelten hier.

Jetzt zurück zur Frage: Gibt es noch andere Möglichkeiten, die zu verschiedenen realen Szenarien passen? Beispielsweise erfordert ein traditioneller Haupt- / Neben- / Patch-Release-Zyklus mit einer langen Pause zwischen den Releases wahrscheinlich einen ganz anderen Workflow als eine schnelle Webanwendung, die Sie sofort veröffentlichen können. Bitte kommentieren Sie auch die Stable / Default- und Branch-Clone-Ansätze, wenn Sie Lust haben.

Da dies fast eine Umfragefrage ist, kann ich nur versuchen, die "beste" Antwort subjektiv zu akzeptieren. Wenn ich ein paar Antworten mehr bekomme als meine Entwickler-Workflow-Frage, dann ist das.

Vielen Dank für alle Ihre Eingaben!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage