Installing Prerequisites
This lesson lists the prerequisite tools for Jenkins X that should be installed in order for you to follow along with this course.
List of tools to install
Before we jump into Jenkins X, we’ll need a few tools that will be used throughout this course.
Git
You likely already have Git. I would not even mention it, if not for GitBash. If you are using Windows, please make sure that you have GitBash (part of the Git setup) and run all the commands from it.
Other shells might work as well. Still, I tested all the commands on Windows with GitBash, so that’s your safest bet. If you are a macOS or Linux user, just fire up your favorite terminal.
kubectl
and Helm
⚠️ At the time of this writing, December 2019, Jenkins X does not yet support Helm v3+. Please make sure that you’re using Helm CLI v2+.
We’ll need a Kubernetes cluster. I’ll assume that you already have CLIs provided by your hosting vendor. You should be able to use (almost) any Kubernetes flavor to run Jenkins X, so the choice is up to you. I won’t force you to use a particular vendor. Just as with kubectl
and Helm, Jenkins X will try to install the appropriate CLI, but you might be better off installing it yourself.
AWS CLI and eksctl
(for EKS)
gcloud (for GKE)
If your preference is Google GKE, I’m sure that you have gcloud.
Azure CLI (for AKS)
Similarly, if you prefer Azure, you likely have Azure CLI on your laptop.
Finally, if you prefer something else, I’m sure you know which CLI fits your situation.
jq
A few examples will use jq to filter and format JSON output. Please install it.
hub
Finally, we’ll perform some GitHub operations using hub. Install it if you don’t have it already.
hub
That’s it. I’m not forcing you to use anything but the tools you should have anyway.
Restriction regarding the Kubernetes cluster
There is one restriction regarding the kind of Kubernetes cluster you can use, though. You can use (almost) any Kubernetes cluster, but it needs to be publicly accessible. The main reason for that lies in GitHub triggers. Jenkins X relies heavily on GitOps principles. Most of the events will be triggered by GitHub webhooks. If your cluster cannot be accessed from GitHub, you won’t be able to trigger those events, and you will have difficulty following the examples.
Now, that might pose two significant issues. You might prefer to practice locally using Minikube or Docker Desktop. Neither of the two are accessible from outside your laptop. You might have a corporate cluster that is inaccessible from the outside world. In those cases, I suggest you use a service from AWS, GCP, Azure, or from anywhere else. Each chapter will start with the instructions to create a new cluster, and it will end with instructions on how to destroy it (if you choose to do so). That way, the costs will be kept to a bare minimum. If you sign up with one of the Cloud providers, they will give you much more credit than what you will spend on the exercises from this course. If you’re not sure which one to pick, I suggest Google Cloud Platform (GCP). At the time of this writing, their managed Kubernetes offering called Google Kubernetes Engine (GKE) is the best cluster on the market.
Now that this is out of the way, let’s install Jenkins X CLI next.