A venture in continous integration
Green lines are code deploys and red ones are requests going to a part of the cluster. I had a big deploy today, and I'm glad to come out of it relatively unscathed.
- Frameworks now use Composer packages, more code reuse now
- Updated structural framework, base classes
- Relatively smart and simple dependency injection
- Proper exception handling and notification
Obviously there was some breakage. I had to fix about 5 incorrectly implemented interfaces, out of which one was affecting work (3 minutes to fix in production!). There were some conflicts with legacy systems like WAP and a few other breaks due to some structural inconsistencies created over the years. Most of it was a bunch of quick fixes.
It's weird but most of the breaks were due to one quick fix created a long long time ago. In the past we were trying to be intelligent and catch a few programmer errors instead of enforcing a bit of strictness, and now that we enforce this strictness we had a bit of code to clean up. Some bad code was caught before the deploy, and unfortunately due to fragmentation, some was caught after.
Due to the changes implemented with the deploy, we'll be able to run more unassisted deployment CI tasks, which will mainly save us time. And who doesn't like to use their time creatively?
- Tit Petric
While I have you here...
It would be great if you buy one of my books:
- Go with Databases
- Advent of Go Microservices
- API Foundations in Go
- 12 Factor Apps with Docker and Go
Want to stay up to date with new posts?