After achieving new challenges during customer activities where I was managing a quite huge project around Kubernetes & Jenkins X EcoSystem, I get the opportunity to attend the DevOps World – Jenkins World in Lisbon.A big thanks as I will better understand all the superheroes in this Jenkins World.The superheroes for me this year is Jenkins X !Today was the 1st day with a dedicated workshop for about ~ 7 hours covering all the important topics for “Continuous Delivery with Jenkins X”. The workshop was presented by two CloudBees’ Developer advocates, Viktor Farcic assisted by Oscar Medina.

The workshop was really complete with clear explanation in guidance and hands-on exercises. In few words, we begin to create a Kubernetes cluster using “jx create cluster gke” using my GCP Free Tier.

Before create the cluster, I decided to update my jx cli. So easy that a simple “jx version” allow you to upgrade the cli

abe@Arnauds-MacBook-Pro:~$ jx version

NAME               VERSION
jx                 2.0.1045
jenkins x platform 2.0.1707
Kubernetes cluster v1.13.11-gke.14
kubectl            v1.15.0
helm client        Client: v2.14.3+g0e7f3b6
git                2.21.0 (Apple Git-122.2)
Operating System   Mac OS X 10.14.6 build 18G95

verifying packages
? A local Jenkins X versions repository already exists, pulling the latest: Yes

WARNING: jx version 2.0.1047 is available in the version stream. We highly recommend you upgrade to it.

? Would you like to upgrade to the jx version? Yes

Downloading to /usr/local/Cellar/jx/2.0.1007/bin/jx.tmp...

The time I wrote this blog, 2 version was already promoted to production and available for download. Viktor informed that around 6-7 versions are pushed every day (amazing isn’t it).

Once jx cli was properly upgraded, it was the time to create the GKE cluster using and including Jenkins X


abe@Arnauds-MacBook-Pro:~$ NAMESPACE=cd
abe@Arnauds-MacBook-Pro:~$ echo "nexus:
  enabled: false
" | tee myvalues.yaml
abe@Arnauds-MacBook-Pro:~$ PROJECT=jenkins-testing-249008
abe@Arnauds-MacBook-Pro:~$ gcloud auth login

Create the GKE cluster:

abe@Arnauds-MacBook-Pro:~$ jx create cluster gke -n jx-rocks -p $PROJECT -r us-east1 \
-m n1-standard-2 --min-num-nodes 1 --max-num-nodes 2 \
--default-admin-password=admin \
--default-environment-prefix jx-rocks --git-provider-kind github \
--namespace $NAMESPACE --prow --tekton --skip-login

In less than 20 minutes the Google Kubernetes Engines cluster was up and running with Jenkins X installed and configured in the specified “cd” namespace.JenkinsXReal Continuous Fun during the 1st day, isn’t it ?

After covering all the 14 workshop sections, I can be really proud of the team I worked with during the last months as we did a real great job for the customer. Without prior knowledge on Kubernetes and Jenkins X, we were able to fully install Kubernetes cluster on Premise, create Jenkins X Pipelines, customize BuildPacks, create QuickStart projects and understand the jx Import utility while applying the GitOps Principle in the right manner and direction. In fact we concluded with my colleagues, Mehdi Bada, that we followed most of the workshop sections concept during customer activities.

  • Section 1: Installing jx
  • Section 2: Creating A CD Cluster
  • Section 3: Creating A Quickstart Project
  • Section 4: Importing Existing Projects Into Jenkins X
  • Section 5: Applying GitOps Principles
  • Section 6: Working With Pull Requests And Preview Environments
  • Section 7: Promoting To Production
  • Section 8: Versioning Releases
  • Section 9: Implementing ChatOps
  • Section 10: Using The Pipeline Extension Model
  • Section 11: Extending Jenkins X Pipelines
  • Section 12: Defining And Running Serverless Deployments
  • Section 13: Choosing The Right Deployment Strategy
  • Section 14: Managing Third-Party Applications

By the way, we get clear inputs on important jx concepts such as jx environments, the promotion between environments, pull requests and so on and so forth 😉

Thanks to organizer and I’m really excited for the next 2 days