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.
quelle
Wir haben automatisierte Abnahmetests für denselben Feature-Zweig durchgeführt. Wenn Sie einen Release-Kandidaten erstellen, enthält dieser die automatisierten Tests, die Sie ausgeführt haben, um festzustellen, ob die Funktion erfolgreich ist. Sie testen auch den Release-Kandidaten. Wenn alles vorbei ist, fördern Sie es, indem Sie es zum Master zusammenführen.
Mehr zu diesem Prozess hier:
https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR
Schauen Sie sich auch die Kommentare an.
Hoffe das hilft,
Adam
quelle
In der Regel ist das Warten auf das Festschreiben, bevor der Code perfekt ist, die halbe Zeit, um die Vorteile des Versionskontrollsystems zurückzunehmen. (Ohne viel Ausarbeitung würde ich sagen, dass man, wenn man nicht mehrfach in VCS einchecken darf, keine Möglichkeit hat, meine eigene Arbeit zurückzusetzen!) Daher bitten wir die Leute immer, weiter einzuchecken (innerhalb ihrer Niederlassung für SVN) oder es können lokale Commits im Falle von GIT sein) so viel sie wollen. Je mehr desto besser.
Wenn jedoch der Punkt erreicht ist, an dem alles erledigt und getestet zu sein scheint , nennen wir es eine Freigabe, und dann wird es mit dem Trunk zusammengeführt. Im Wesentlichen kann die Qualitätssicherung den RC zertifizieren, indem sie einen neuen Check-out in der
HEAD
Filiale durchführt. Wenn es sich um Okey handelt, wird derselbe mit dem Kofferraum zusammengeführt.Im Wesentlichen verwenden wir das Konzept von Task-Zweigen oder privaten Zweigen, damit die Leute so oft einchecken können, wie sie brauchen. Gleichzeitig ist der Kofferraum relativ frei von fehlerhaften Check-Ins.
quelle