-------------------------------------------- Automate all of the things 2018.01.08 13:09:50 CET -------------------------------------------- Happy New Year to all readers! For some unknown reason, I started this year with an unusual amoun of energy and motivation towards reaching my yearly goals. Last week I planned my first quarter and started implementing my plans. One of my professional concerns for some time is how locked-in I f with the tools, practices and technology we use at work. It's no mystery, after 10 years in the same company it's expected one woul develop a deep understanding of the "internal" matters. Unfortunately, I feel the downside to this knowledge (which is definitely useful; don't get me wrong, I'm not complaining about having it) is the disconnect with the outside world and practices. So I decided to look outside and start applying the ideas and principles we have at work on my personal life. This aligned very well with one of my previous posts - when I remember how tiresome can be to manage your own infrastructure. The first idea I implemented this week was to automate all of my personal projects. I've always done the responsible thing and used source control for my projects, but I left integration testing and deployment as manual tasks. For example: the code for my blog live in a Git repository. I used to build it with Hugo and then deploy to my server manually. This week I implemented Continuous Integration and Deployment for of my personal projects. Of course the time savings from this automation is small, but that was not my goal. My objective is to learn what tools other developers are using for CI and CD. I really enjoy the result: now all my interface with these servers through my VCS: I can make changes locally and once tested individually locally all I have to do is check them in. The automation takes care of running any integration tests, building, deploying and testing a canary and, if successful, deploy to production. Another side-effect of this reduced contact interface with the services is the simplification of my workstation setup: for normal and usual changes, all I need is the VCS tool and a compiler for example. One item on my quarter objectives done. I hope all of you had a great start of 2018 too! |