Krish | 24 May 2018
One of the most viewed talks from CNCF’s flagship conference in Copenhagen this year has been “Jenkins X: Easy CI/CD for Kubernetes” by James Strachan (Creator of Groovy & Apache Camel, now with Cloudbees). This introduces us a new open source project from Jenkins - Jenkins X - a CI / CD platform for Kubernetes.
James’ talk explains that, while Kubernetes is an awesome technology, challenges can arise when teams want to resuse this awesome tech. Examples of this could include how to set up multiple environments, a Dockerfile of your microservices, your pipelines, promotions between environments, and GitOps etc. Then, unsurprisingly given the name of the talk, he proceeds to show the ease of overcoming these challenges using Jenkins X.
His demo shows the simplicity of setting up Jenkins X and Kubernetes echo system. This can be done on your cloud of choice by running the command
jx create cluster <cloud provider>. Or, if you want to set up on an existing Kubernetes cluster, simply
jx install. More help can be found here
Next James demonstrates how to setup a CI/CD workflow for a microservice, from scratch, on Jenkins X. This is again done by a single command -
jx create quickstart - which generates a bunch of questions to answer. An end to end CI/CD workflow with GitOps is ready in just a few minutes - which is awesome! He then goes into detail about the specific steps and tools that are used to build this CI/CD workflow.
The presentation closes with a couple more demonstations. Firstly, using Jenkins X to spin up Preview Environments for your pull requests. This allows you to to get fast feedback on your development before changes are merged to master. And finally using Jenkins X to create a development pod on a Kubernetes cluster with various tools (Git, Docker, Maven, Skaffold & JX), all with the exact same configuration as the CI/CD pipelines, to do the development on the cloud.
I think after watching this talk anyone should be able to develop a CI/CD pipeline on a Kubernetes cluster, in a cloud native way, without having a deep knowledge of Docker, Kubernetes and Helm charts.
So what are you waiting for? Head to https://jenkins-x.io/getting-started/ to get started!