Ich habe in letzter Zeit viel über verschiedene Bereitstellungsprozesse für Webanwendungen mit SVN oder GIT gelesen, um die derzeitige Bereitstellung dort, wo ich arbeite, neu zu gestalten.
Wie bei vielen Agile-Varianten wird davon ausgegangen, dass alles, was für Master oder Trunk bestimmt ist, produktionsbereit ist. Sowohl GitHub als auch Etsy, http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/, geben an, dass sie auf dieser Basis arbeiten (obwohl Etsy tatsächlich eine Staging-Umgebung hat).
Dieser Prozess setzt voraus, dass alle Komponententests und CI-Tests ausgeführt wurden. Sie führen die Tests lokal und auf CI aus und verpflichten sich dann zum Trunk. An diesem Punkt ist Ihr Code technisch einwandfrei.
Ihr Code ist möglicherweise technisch korrekt, aber Benutzer- / Funktionstests können weitere Fehler aufdecken, insbesondere beim Front-End-Testen.
Meine Frage ist dies. Wo testen QS- und Geschäftsinhaber die von Ihnen implementierten Funktionsänderungen? Auf Ihrem lokalen Entwicklungscomputer, bevor Sie sich zum Trunk verpflichten, oder auf einem QS / Staging-Computer?
Wenn Sie eine Staging-Maschine haben, auf der Trunk ausgeführt wird, und Sie davon ausgehen, dass der gesamte für Trunk festgeschriebene Code produktionsbereit ist ... eh .., dann ist der Code abgemeldet und kann sowohl technisch als auch geschäftlich in die Produktion aufgenommen werden Perspektive? Wenn Sie nur einen Staging-Computer haben, viele Entwickler, und dort soll der Code für die Qualitätssicherung bereitgestellt werden, wie können Sie dann vom Trunk aus bereitstellen, da viele Entwickleränderungen auf die Abmeldung warten können.
Es würde mich interessieren, wie andere dies angegangen sind.