DevOps: Whitebelt Level

Docker, Terraform, Jenkins, and Selenium

Posted on April 20, 2021 · 3 mins read

Preamble: This might sound familiar - if it doesn't, no one wants to hear it smarty pants - I'm just now getting to ________ technology. In the world of development, I'm always a beginner at something and between us, that might be the hardest part and the most interesting part (that's what we're supposed to say, right?).

I learned something today

What: Wrote a Dockerfile to make a containerized website someone else made (see todo #2 below), used Terraform to plan, apply, and launch to S3, incorporated the world's simplest Selenium-based unit and integration tests, and made a nod to using Jenkins for a deployment pipeline.

Why: I'm using all of these tools and need a better idea of how they all work, their syntax, and how to update projects that use them, write original projects with them, etc. It's part of my job today, and I see it being important in the future.

If you build it, then you have at least some concept of how to build it again, build it better, and have a surface conversation about it. Just imagine how many people would cling to my every word at a cocktail party.... well, I guess it depends on the party. 🤓

How: I took a handly little course on LinkedIn with plenty of outdated dependencies, some command strings that I had to get help on, and even an .env file to keep my secrets secret. I went at least 15% out of my way to complete it so here's my brag article. BOOM!

What now? Well, I'd like to combine this project with another project/tutorial/class to replace the "someone else's website" with something I've built and customized and finish up the parts that weren't included in the 2.5 hours total of video instruction.

Another day, another Dockerfile

One day later, I'm ripping through lines on a Dockerfile on a work project. Tearing out all references to a platform that I no longer want loading in this container. I move into the Terraform files and do the same. This is why I take these courses, and why I am sharing only the non-NDA work I can get done in my scant free time outside of work.

The Project
To Do
  • Write the Jenkins scripts files to deploy from a Git push
  • Update the "website" with something I've built
  • Write some real tests, more tests, ALL OF THE TESTS!!!
  • Chill out about tests...