CI/CD the developer’s perspective
When I’ve talked with developers about CI/CD the main problem is always:
“I don’t know how to work in this way”
I will try in this article to explain how I do it.
From feature to commit
The most important thing in my opinion CI/CD brings us is switching the perspective from feature to commit. This means that you are not deploying features you are deploying commits, in terms of Lean Agile our batch size now is the commit. So we have to be very sure our commit is working and is not breaking anything:
- Each commit needs to be tested, no commits without tests. All the tests must pass.
Ok, but we still can push all our feature in one commit. We need to deploy frequently to our integration and production environments, so I have the rule of the time:
- I have to commit in less than x minutes (you can start by 30 and go down to the number you want, even seconds). If you cannot commit in that time reset to your last working commit and start again, probably you will have in mind a better plan to do it faster.
This second rule is interesting because if your time box is little you will accept easier to remove the code but if you last too much time then this is not going to happen. As much time we are in a…