Setting up my own CI/CD

So I’m a fan of automation because I don’t like repeating stuff and I’m lazy. One of the things I learned at my job is to automate CI/CD. I had a little time during the weekend and I decided to actually implement my own CI/CD setup and decided that since I’m going to do it I might as well document it here.

Now firstly, I’m not a DevOps guy, I’m a Software Engineer, and I have no idea what the best approach to take is. But I am a fan of learning and believe there is nothing like bad knowledge so I decided to take a stab at this myself as a weekend(or 2) project.

My set up is going to be Docker, Jenkins, Git/Github, Ansible and Kubernetes. I’m learning as I go so don’t hang me for a bad setup. I’ll be hosting everything on Linode because

  1. I’ve been using it since forever
  2. I already have credit there,
  3. I can pay via Paypal if I need more
  4. It’s simple to set up. (I mean I honestly love AWS… when I’m not paying for it. But Jesus, that pay structure, the need for my credit card, the sheer amount of services… You need a flipping degree in AWS services just to use AWS services!!)

I already have Docker set up locally since I use it now for all projects because Docker is fucking awesome. I have a GitHub account, and I’ll create a few test applications there during this project.

Wish me luck. Let us hope I don’t accidentally blow up the internet.