The New Builders

Installing Jenkins X on IBM Cloud Kubernetes Service

Share this post:

Introducing the Jenkins X open source project

The Jenkins X open source project is a continuous delivery solution that was designed and configured especially for Kubernetes. It comes with a simple installer tool that provides a turn-key install when pointed at a Kubernetes cluster, and it supports multiple Kubernetes environments with custom configurations for each.

IBM Cloud has a built-in, hosted Continuous Delivery toolchain that can be used for automating the building and deployment of applications. However, we know our customers sometimes like to use custom solutions, especially when building multi-cloud environments.

Jenkins X comes with regular Jenkins and additional components which are pre-wired together to provide an opinionated, out-of-the-box CI/CD for cloud-native applications on Kubernetes. These additional components include Nexus for caching build artifacts and chartmuseum for Helm chart repository. It also comes with Build Packs for creating quick-start applications and generating Dockerfile, Jenkinsfile, and Helm charts for existing applications. As a result, the CI/CD experience is seamless. It’s worth mentioning that IBM Cloud Developer Tools CLI provides similar functionality.

In this blog, I’ll show you the installation steps to get Jenkins X running on IBM Cloud Kubernetes Service.

Installing Jenkins X on IBM Cloud Kubernetes Service

  1. Install Jenkins-X and Helm.
  2. Use the Jenkins X CLI to create a new cluster on IBM Cloud Kubernetes Service. This command invokes the ibmcloud cli to log in, create a cluster, install, required local dependencies, and provision the Jenkins X platform. I recommend choosing a Standard cluster with at least 4 Core X 16GB with 3 nodes for optimal performance. Note: Choose Kubernetes Version 1.10.
    jx create cluster iks

Stand up and stretch your legs for a few minutes. The installer creates several deployments, persistent volumes, services, and ingress. After your break to stretch, set your KUBECONFIG to your new cluster and run kubectl get deployments,services,pvc,pv,ingress -n jx to see everything that got installed. Note that there are additional charges that are incurred due to the persistent volumes.

After installation, run jx console to launch the console. Verify that you can log into Jenkins using the provided URL and admin password.

Configure Jenkins X to use IBM Cloud Container Registry

If you used the jx create cluster iks method described above, the cluster and Jenkins X installation are already configured to use the IBM Cloud Container Registry to store your container images.

All done with the setup! Now for the fun part

Back in the terminal, use jx create quickstart to create a project.

This will create a new git repository in your GitHub org with the starter source code, a Jenkins pipeline, and a github webhook to automatically pick up any code changes. On code commits, the build checks out the source code from GitHub, builds the app, creates a Docker image, stores the image in the container registry, and then uses the Helm chart in the repo to deploy the application to your cluster.

Note: Due to a current limitation, your IBM Cloud Container registry namespace (ibmcloud cr namespaces) has to match your github org name. If they do not match, create a new namespace using ibmcloud cr namespace-add <your-github-org>.

Make code changes in your git repository and watch for a new pipeline and an updated application. This gives you a great starting point and is ready for you to modify it to match your requirements.

I hope this post gave you a quick overview of what Jenkins X is and how you can use it with IBM Cloud Kubernetes Service. To learn more, I recommend watching the presentation from KubeCon 2018.

If you have trouble

For questions regarding the IBM Cloud Kubernetes service, engage our team via Slack by registering here. Join the discussion in the #questions channel on

IBM Cloud Technical Offering Manager

More The New Builders stories
December 21, 2018

Java Microservices with MicroProfile: Health Check and Metrics

In this post, we'll look at how to monitor your microservices with MicroProfile Health Check and Metrics

Continue reading

December 20, 2018

VIDEO – What is Knative?

Knative is a new and exciting open source project released as a collaborative effort by IBM, Google, Lyft, and many more. But what exactly does Knative do and how does it make a developer's life easier? Sai Vennam is back to explain the basics of Knative, showing how Knative provides developers with the building blocks for serverless platforms to run on Kubernetes.

Continue reading

December 14, 2018

VIDEO – Hybrid Cloud Explained

Is hybrid cloud the solution that you and organization have been looking for? Sai Vennam breaks down the basics of hybrid cloud and shows how it can bring the best of both worlds by allowing you to utilize the features of both public cloud and private cloud that suit your specific needs.

Continue reading