Gitflow, as originally written by Vincent Driessen, has become one of the most used version control work models. Using gitflow allows to apply a pattern of best practices when developing software… Which actually it’s something that any other workflow model does. The
Define a valid Rollback strategy
How do you deal with broken builds? Applying methods like Continuous Integration or Continuous Delivery usually make the lower development environments (usually tagged “integration” and “UAT”) unstable. As several teams merge their changes to the software, the end-to-end tests might
Everything as code
Your version control tool keeps your application’s source code safe by storing all revisions and changes that were done previously. This makes it easy to roll back to a previous state where things worked correctly in the case that a
Dont’ worry about making mistakes – as long as you don’t make them in production
You know what’s wrong with your development or integration environment? That, most probably, is “broken”. Meaning that a component isn’t working as intended, or a dependency wasn’t upgraded to the required version, or maybe a legacy application still in production
Improving your deployments with Blue/Green strategies
The most common scenario is that you spent weeks tuning your deployment to production. You suffered through testing and, finally, the end of this release is here. The deployment to production starts… And the application isn’t initializing. Something freezes along
Counting changes
Decoupling your applications is tough work, and if by any change you started after reading the previous topic on this series, I don’t really expect you to be even halfway by now! Still, you might wonder what the next step
Unraveling databases
We talked about how a closely coupled system becomes a stagnating point for a company that wants to perform releases in a more nimble way. The first issue that we will address is database sharing: several components accessing a relational
Fixing the monolith
Large companies that built up their technical debt for a long time, focusing their development capacity on releasing new features, find an impasse when they try to implement Continuous Integration or Continuous Development strategies. Coupled processes, shared databases and lack