Whether it's out of necessity or you're just plain nuts, one day you may find yourself in a DevOps role. Fear not, this is a quick list of skills you might find useful during your stint. If you're just plain nuts, I don't know how to help you, but read through this anyway.
Become a master builder
So maybe you're not the Lego master builder - you can still be the team's master CI builder. I didn't start out knowing everything about builds and I won't claim to be the best at it now either. Every project has different requirements but there should always be some generic workflow that drives a development cycle. With the basics out of the way start customizing things such as code scanning, reports, and other useful plugins.
Script it before you make it
Brush up on your shell scripting languages and it makes everything easier. I spent a lot of time trying to get Jenkins to do certain things. Most of the time there’s a plugin that does exactly what I want but most of the time it doesn’t work. With a scripting language such as PowerShell, you can automate many tasks in your continuous integration. A PowerShell script can also make your team’s lives easier by giving them a way to automate some boring tasks.
Don’t abuse the power though. Only write an external script to run tasks if they don’t fit into the build pipeline. You should be using the build tool to run tasks that are tied to the build pipeline.
Be one with the tool
There are so many ways to do things that it's easy to give up looking for a proper tool and rely on scripting. Once you find a tool that does what you need, spending some time to figure out its inner workings will save you a lot of time. As I mentioned in a previous post, you should try your best to accommodate to the way the tool wants to do it. When you push the boundaries of the tool you tend to get less return on productivity. Instead if the tool seems to lack in the functionality you want, you probably want to supplement it with another tool in the workflow or take a different approach to the problem.
There are many more skills that would be very useful in a DevOps role - this is just a tiny list of skills that could be the top three. In fact, I believe that every developer will find these skills useful and can contribute to a project through additional custom tooling and automation.
No comments:
Post a Comment