In einer idealen Welt würden unsere Entwicklungsprozesse perfekt sein, was zu regelmäßigen Releases führen würde, die so gründlich getestet wurden, dass es niemals nötig sein würde, eine laufende Anwendung "hochzufixen".Was sind einige gute Strategien, um zu ermöglichen, dass bereitgestellte Anwendungen Hotfixes sein können?
Aber leider leben wir in der realen Welt, und manchmal rutschen Käfer an uns vorbei und stellen ihre hässlichen Köpfe erst wieder her, wenn wir schon beim nächsten Release beschäftigt sind. Und der Fehler muss behoben werden Jetzt. Nicht als Teil der nächsten geplanten Veröffentlichung. Nicht heute Abend, wenn der Verkehr abflaut. Jetzt.
Wie gehen Sie mit dieser Notwendigkeit um? Es kann wirklich gegen gute Design-Praktiken, wie Refactoring Ihres Codes in nette, diskrete Klassenbibliotheken laufen.
Das manuelle Bearbeiten von Markups und gespeicherten Prozeduren auf einem Produktionsserver kann ein Rezept für Katastrophen sein, aber auch Katastrophen verhindern.
Welche Strategien gibt es für Anwendungsdesign und Bereitstellungstechniken, um ein Gleichgewicht zwischen Wartungsbedarf und guten Programmierpraktiken zu finden?
Wie testen Sie das Update in der Entwicklung? Normalerweise habe ich auf einer Dev-Box eine Million Dinge auf meinen Stammordner gerichtet, die neu konfiguriert werden müssen. Was ist der Vorteil eines SVN-Tags, wenn Sie die neueste Revisionsnummer bei der Veröffentlichung einfach notieren? Vielen Dank! –
Gute Frage, ich habe meine Antwort erweitert und hinzugefügt, dass wir eine Staging-Umgebung haben. (RE: Unterschied) IMHO ist es der Anwendungsfall, einfacher mit einem Tag als einer Revision zu arbeiten und wie ich erklärte, machen wir Produktion/Staging-spezifische Ergänzungen, bevor wir deply. Ich hoffe, das hilft. – Till