This is the last in my Absolute Beginner series but it’s going to be in four parts; setup, building, testing, and deploying. We started with a building a simple application, containerizing it, and now we’re going to automate all the processes between pushing your code changes and the application being available in it’s finished state. In the previous article, we set up Jenkins in a Kubernetes instance running on your laptop. In this article, we’re going to revisit building a container and then automate that step. In subsequent articles, we’re going to look at testing, and we’re going to go deeper into what it means to deploy something.

To get the most out of this article, you should have read all of the previous articles starting with Application Programming for Absolute Beginners, and going to Build Automation for Absolute Beginners (Part 1) (see the whole list at the bottom of this article).

When I say this is for absolute beginners, that doesn’t mean anyone. But it doesn’t take the skills everyone always thinks of when talking about software development. You don’t need high-level math skills, abstract logic, or Sherlock Holmes levels of powers of deduction (Although you can still smoke a pipe and wear a funny hat). What you need most is a decent memory (so…many…commands), persistence, and patience. Persistence and patience are at least as important as problem-solving skills in most cases. As Thomas Edison said “Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time.”

The other unique thing about this series is that the only hardware requirements are a Mac Laptop. I picked Mac because I use one, and so I’m better able to give more precise instructions on installing and running applications needed for this project. Also, it has been my experience that in professional environments, most use Macs as the standard platform for development. You could probably get away with using a Windows laptop but you may have to have it set up differently.

One of the goals in this series is only installing minimal software to get you going. So far, we installed the GitHub Desktop, Atom editor, Brew package manager, Node.js JavaScript language, Docker Desktop, and Helm. Everything else has been run as containers, and as such are easily removable. If you decide that programming is for you, you might want to try different languages such as Go, or Python, or Java. The software that we installed will work nicely with each of these languages, although if you want to focus on one language, an editor that is geared towards that language would help greatly.

#kubernetes #kaniko #jenkins-pipeline #jenkins #docker

Build Automation for Absolute Beginners (Part 2)
1.25 GEEK