Most probably you already know what Jenkins is and maybe you are already using it for years to help you to automate all kind of things, specially software development process with continuous integration and delivery.

From mid 2018 we have another guy on the stage: Jenkins X. This is the first post of a series of posts where we will talk about different aspects of this powerful and maybe not very well known tool.

Yes, you may think that this is just a new version naming of the classic Jenkins, but in this case is totally different. Jenkins X is a completely different beast.

Jenkins X is a new tool. They creators define it as an ‘open source opinionated way to do continuous delivery with Kubernetes, natively’. And yes, this is exactly what it is. 🙂 Jenkins X helps to deliver your application into a Kubernetes ecosystem. It uses DevOps best practices and helps you to increase the development speed.

Jenkins X combines and runs a selection of tools to achieve its final objective: simplify the CI/CD process of your applications into a Kubernetes cluster. Some of the tools that Jenkins X uses to accomplish that are: Helm, Tekton, Prow, Draft, Monocular, ChartMuseum, Nexus, etc.

It comes in two flavors:

Jenkins X can create an entire Kubernetes cluster for you or can be installed in an existing cluster you have. Supports all major Kubernetes managed systems including EKS (Amazon), GKE (Google), AKS (Azure) and also IBM Cloud, OpenShift and Pivotal. And, of course, also supports on-premise Kubernetes installations.

With Jenkins X is very easy deploy applications into a Kubernetes cluster. When you commit your changes to a Git repository, a lot of things happen under the hood:

Jenkins X flow
Figure 1: Jenkins X deployment flow (author: Viktor Farcic)

And the final result is your application installed in Staging or Production environments (these are the default ones but you can define as many environments you need!).

Yes, you may think that this is a very complex thing, but not everyone needs to understand all these details and/or understand of all the components and services involved in the build and deployment process. For the majority of users, the only important thing to know and/or understand is that pushing changes to Git will result in the execution of the pipeline (defined in the new jenkins-x.yml file) and have the application installed in the desired environment. Jenkins X simplifies all the process by making complicated processes simple ‘automagically’. 😉

If you want to know more about Jenkins X stay tuned. Would you like to implement Jenkins X in your Company? Please, contact us and we will be glad to help you. Feel the Geko way!

Leave a Reply

Your email address will not be published. Required fields are marked *