One of the cultural changes that occurs when the light build goes on in organizations attempting to implement DevOps is when teams start what is termed either “striving for green” or “push on green”. In short, this concept is means that deployments are automatically executed when all tests pass. This is synonymous with “Continuous Deployment.” The accepted method for automating deployments to environments is to automate testing.
If your automated testing is rigorous enough, you can deploy any code for which the tests pass. In very mature organizations this can lead to Continuous Deployment all the way to the production environment. In reality, striving for green or push on green has a deeper meaning. When teams start striving for green it means they have fully bought into the concept of automation, meaning automating everything from environments, to builds, to testing, to deployments. Striving for green culturally means that teams are now fully committed to seeking out and finding all areas that can be automated in order to minimize as much of the manual toil as possible. A strong strive for green culture will automate the vast majority of the overall development and delivery process so the team can focus on specific, value-added areas. In order to achieve this, an investment needs to be made in achieving the working practice of automating the norm.