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.

  1. Frameworks now use Composer packages, more code reuse now
  2. Updated structural framework, base classes
  3. Relatively smart and simple dependency injection
  4. 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:

I promise you'll learn a lot more if you buy one. Buying a copy supports me writing more about similar topics. Say thank you and buy my books.

Feel free to send me an email if you want to book my time for consultancy/freelance services. I'm great at APIs, Go, Docker, VueJS and scaling services, among many other things.