Eine der in Jez Humbles Continuous Delivery beschriebenen Vorgehensweisen ist, dass Sie ein Paket erstellen und es dann für jede Umgebung freigeben, in der Sie es bereitstellen, damit die Bereitstellung und die Artefakte selbst mehrmals getestet wurden, bevor Sie in die Produktion gehen.
Ich unterstütze diese Idee voll und ganz.
Auf der anderen Seite sind Debug-Modus-Builds, mit denen Sie Stack-Traces mit Zeilennummern erstellen können, in Testumgebungen unglaublich nützlich, ebenso wie die Möglichkeit zum Remote-Debuggen. Sie möchten jedoch einen Release-Build an die Produktion senden.
Also, für Leute, die dem ersten Prinzip folgen, zu welchem Zeitpunkt wechseln Sie von Debug- zu Release-Builds?
Ist es vor der ersten Bereitstellung in einer Testumgebung sinnvoll, die Kosten für den Verlust des Debug-Modus zu ermitteln, um sicherzustellen, dass Sie den tatsächlichen Release-Kandidaten frühzeitig testen? Oder erstellen Sie irgendwann im Promotion-Prozess erneut und gehen davon aus, dass Sie dem Build-Prozess über die Software vertrauen werden? Oder schrauben Sie einfach alles und stellen Debug-Versionen für die Produktion bereit?
Hinweis: Ich weiß, dass dies für interpretierte Sprachen nicht wirklich gilt, da Sie den Schalter normalerweise in der Konfiguration betätigen können, anstatt dies zum Zeitpunkt der Erstellung zu tun.