Learning how to use fewer environments for code development
In the previous section, we explored what it means to adopt a trunk-based development style and that once that is followed to a mature standard, it is possible to make further refinements to the process. While unit testing was mentioned in the previous section, the location of where to run the regression tests wasn't well detailed. That's because it is possible to move away from dedicated testing environments with this approach.
With the ability to deploy a new implementation to production, but having the feature turned off for customers, this presents the opportunity to do away with a dedicated testing environment. Code can be committed from a developer's computer to the main branch and then deployed to production, with us safely knowing that the code changes are contained within the feature flag's encapsulation. This works best when changes can't be committed until local tests have validated that...