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 https://github.com/jenkins-x/jx/releases/download/v2.0.1047/jx-darwin-amd64.tar.gz 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
Preparation:
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.Real 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