Jez Humble的“ 持续交付”中阐述的一种做法是,您应该构建一个软件包,然后将其发布到部署到的每个环境中,以便在投入生产之前,已经多次测试了部署和工件。
我完全支持这个想法。
另一方面,为您提供带行号的堆栈跟踪的调试模式构建在测试环境中非常有用,远程调试功能也是如此。但是,您想将发布版本发送到生产环境。
那么,对于遵循第一条原则的人们,您在什么时候从调试版本切换到发行版本?
是在第一次部署到测试环境之前,确定丢失调试模式的成本值得确保您尽早测试实际的候选发布版本吗?还是您在升级过程中的某个时候再次构建,以为您会信任构建过程而不是软件?还是只是将所有内容搞砸了,然后将调试版本部署到生产中?
注意:我知道这并不真正适用于解释语言,因为您通常可以在配置中轻按开关,而不是在构建时进行切换。