RSS

Jenkins X 3.x GA is here!

Jenkins X 3.x is now Generally Available!

I’m super excited to announce the 3.0 GA (General Availability) release of Jenkins X!

Jenkins X automates your CI/CD on kubernetes to help you accelerate:

Demo

Here’s a demo of how to develop code with Jenkins X

Documentation

the main documentation of the changes are:

here’s a brief summary of the differences:

Changes since the 3.x beta

The following improvements have been made since the first beta:

User Changes since 2.x

As a user the high level UX of Jenkins X is similar:

New features

jx dash
jx ui

Platform Changes

  • we now use helm (3.x) and helmfile along with optionally kustomize in a GitOps style to define and configure both Jenkins X itself, your tools and applications in any namespace
  • support multi cluster out of the box so you can keep Staging and Production in separate clusters to your development cluster where your pipelines run, you create and release immutable container images and other artifacts.
  • to setup or upgrade Jenkins X we use terraform to setup your cloud resources on Azure, Amazon or Google while also supporting on-premises, minkube and OpenShift - see the Admin Guides for more detail
    • the actual installation of kubernetes resources takes place using the git operator so it runs reliably inside the cluster itself
  • we default to using Kubernetes External Secrets to manage all secrets for Jenkins X itself, development tools and your applications too.
    • This means we can support various secret backends such as Alibaba Cloud KMS Secret Manager, Amazon Secret Manager, Azure Key Vault, Hashicorp Vault or GCP Secret Manager
    • It also means we can then check in all kubernetes resources and custom resources directly into git (apart from Kubernetes Secrets) so that it super easy to version, review and reason about your kubernetes resources in a GitOps way.
  • built in TLS and DNS support along with Heath reporting and visualising via kuberhealthy
  • we now have an LTS distribution which lets you switch to a much more slower cadence of releases of Jenkins X

We have been using Jenkins X 3.x in production now for many months (for CI/CD of all of the 3.x codebase and continuously upgrading our cluster in the standard way and it’s been much simpler and easier to use, operate and configure.

We have also been continuously delivering changes from Jenkins X into our production cluster for many months now and it’s been working great - GitOps FTW!

In general Jenkins X 3.x is now much simpler and more flexible. It supports lots more platforms than before and should be easy to extend and configure for other platforms too.

Getting started

If you have never tried 3.x before then please follow the Admin Guide to get Jenkins X installed on your cloud provider, on-premises kubernetes cluster or minikube.

If you previously tried the 3.x alpha then the migration instructions are here.

For folks on older 2.x versions of Jenkins X please see the 2.x migration instructions

Once your cluster has been installed or migrated then check out the User Guide on how to develop software continuously with Jenkins X.

Final thoughts

A huge thanks goes out to all the contributors, folks in the Jenkins X community and the community around all the open source projects we reuse who’ve helped get this beta together. The improvements in Jenkins X 3.x since 2.x are totally amazing, well done everyone!

Please give Jenkins X a try and let us know what you think or raise an issue. All feedback highly appreciated - particularly how we can keep improving to help you develop faster.

If you are at all interested in Continuous Delivery with kubernetes using tools like helm, helmfile, knative, lighthouse and last but definitely not least, tekton then please join the community - its great fun!

For any questions and feedback please reach out on slack https://jenkins-x.io/community/#slack