Skip to main content

Jenkins X 3.x GA is here!

By April 15, 2021Blog

Contributed by James Strachan | originally posted on jenkins-x.io

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

Copy

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 set up your cloud resources on¬†Azure,¬†Amazon¬†or¬†Google¬†while also supporting on-premise, 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 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 Jenkins X 3.x before then please follow the Admin Guide to get Jenkins X installed on your cloud provider, on-premise 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 is 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¬†– it’s great fun!

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