Changes
You may also find the Roadmap and Maturity Matrix documents useful:
Breaking Changes
- we have noticed a regression in the auto upgrade jobs which causes them to fail with an error like this:
updatebot WARNING: no $GIT_SECRET_MOUNT_PATH environment variable set
updatebot error: failed to setup git: failed to clone the cluster git URL: failed to clone cluster git repository https://github.com/myorg/myrepo.git: failed to clone cluster git repo https://github.com/
updatebot fatal: could not read Username for 'https://github.com': No such device or address
-
you can fix this by following the workarounds on this issue which should get you past this and working auto upgrade jobs again
-
we now default to using
Ingress
v1
which was introduced in kubernetes 1.19. Thev1beta1
version ofIngress
has been deprecated since 1.14 and is removed in 1.22. If you are on 1.18 of kubernetes you could upgrade to 1.19 or later. Otherwise you can configure your cluster to keep on v1beta1 if you want until you can move forwards to 1.19 or later. -
the new tekton version (0.20.x) now requires kubernetes 1.17 or later. If your cluster is older and you are using the cloud just upgrade your kubernetes version before upgrading your cluster. Otherwise you may want to explicitly override your
tekton-pipeline
version to pin it at0.19.1
instead in your helmfiles/tekton-pipelines/helmfile.yaml file -
if you are upgrading from an alpha cluster you may have vault installed in the
secret-infra
namespace. check out the FAQ on vault in the wrong namespace for how to upgrade.
Changes
-
we have a new jx pipeline grid command to easily view whats happening in your cluster on the CLI in a similar way to the Octant Console or Dashboard
-
The reference guide now has a full Command Line Reference for browsing the command line of the various Jenkins X Plugins
-
There is now support for automatic upgrades where a Pull Request is automatically generated on your development cluster repository to upgrade the versions of charts in your installation. You can define the upgrade schedule and whether or not the Pull Request is auto merged or requires a manual approval/merge.
-
A preview can fail to create for a multitude of reasons; bad helm charts, missing secrets/volumes, invalid configuration in
jx-requirements.yml
, bad image names, no capacity on the server to name but a few. Unfortunatelyhelmfile sync
does not give much information other than it succeeded of failed.- to improve feedback on why some previews can fail we have added additional output in the jx preview create command to tail the kubernetes events in the preview namespace. This basically runs
kubectl exec get event -n $PREVIEW_NAMESPACE -w
and adds the output to the pipeline output (prefixed with$PREVIEW_NAMESPACE:
- this means the reason for why a preview fails should appear as a kubernetes event in the pipeline log
- to improve feedback on why some previews can fail we have added additional output in the jx preview create command to tail the kubernetes events in the preview namespace. This basically runs
-
we have a shiny new Slack bot for Jenkins X to help notify developers of failing pipelines
-
its now much easier to write system tests against Preview Environments so it’s easier to test images and charts function as you expect inside a Pull Request before you are happy to merge the work for faster feedback
-
check out the new DevOps, GitOps and Cloud Native documentation we’re putting together based on the learnings of continuously deliverying Jenkins X with Jenkins X.
-
new clusters created using Terraform that use Vault will be using the
jx-vault
namespace to setup Vault (so that its managed by Terraform) -
you can now use jx pipeline convert to convert any old pipelines across to the latest concise syntax
-
we have an awesome new syntax to help share pipelines across git repositories that makes it easier to simplify the pipelines in each repository while keeping things vanilla Tekton YAML and letting you override and customise anything anywhere
-
the boot job now upgrades the
docs
folder to show what charts and versions are deployed in each namespace. You can view thedocs
folder in your own git repositories once you’ve upgraded your cluster- you can see the default reports for kubernetes, aws, azure and gke
-
We now use multiple helmfiles per namespace so its easier to understand the organisation of your charts across namespaces
-
The 3.0 beta is almost ready so if you have been using the 3.0 alpha we now have a migration guide to smooth your transition to the beta
-
You can now easily open the Octant Console or Pipeline Dashboard via 2 easy commands:
jx ui
jx dash
-
We now have Tekton Catalog integration so that you can:
- easily edit any pipeline in any git repository by just modifying the
PipelineRun
files in your.ligthhouse/jenkins-x
folder - reuse Tasks from the Tekton catalog and optionally modify them locally in your repository
- add new pipelines to any git repository to reuse any
PipelineRun
files you find from places like the tekton catalog into your repositories
- easily edit any pipeline in any git repository by just modifying the
-
We have migrated most of the Jenkins X Plugins over to the new client-go 1.19.x version now which is a fairly major change due to the API changes in client-go. So we’ve moved many of the libraries over to use
v3
instead such as using libraries like jx-api or jx-helpers- if you were planning on submitting a Pull Request on any plugin please make sure you rebase before submitting a Pull Request. Also upgrade to go
1.15.2
ASAP
- if you were planning on submitting a Pull Request on any plugin please make sure you rebase before submitting a Pull Request. Also upgrade to go
-
New Maturity Matrix published! You can now view at a glance the different capabilities across clouds and infrastructure. Many thanks Nitin for all your hard work
-
Preview environments now use helmfile as a declarative way to describe all of the dependencies you need in your preview environment.
- This is all handled by the new jx-preview plugin
- This also opens up the possibility of using multiple namespaces per preview; or using canary releases on multiple previews into a shared environment.
-
The new Jenkins X version 3 CLI jx is now plugins all the way down; so that all of the features are implemented by separate binary plugins making the CLI more modular and easier to work on.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.