Continues Delivery, build once or build per environment

by Sutty1000   Last Updated June 14, 2017 13:05 PM

We are having a debate in our teams at the moment around the best process for building our software. My team is following gitflow and building once at the start of the deployment pipeline and promoting that build through each environment.

The other team is building once per environment except for prod where they promote the build from Pre-PROD to PRO. They have a branch per environment and when they want to move a feature to a higher level environment they merge the code to the correct branch and trigger a build.

I feel very strongly(!) that my approach is correct, I've read a few books on CI/CD and they almost all start with the concept of build one and promote. However I'm getting a fair bit of resistance to my approach and want to sound out both approaches to a wider audience. The points against raised so far are:

  • A defect fix can't be put straight into a higher level environment and has to go through the full pipeline (I think this is a good thing!)
  • You can't guarantee that the master branch wont reflect what is in production (I don't fully understand why not as we merge the release branch to master when deployed)

Related Questions

What DevOps architect do?

Updated October 15, 2017 03:05 AM