Version Stream
JayeX is made up of a large number of command line packages, images and helm charts, some of which are released by the JayeX community and others come from the wider open source ecosystem.
To improve the stability of JayeX when lots of packages and charts are changing all the time we have introduced the JayeX Version Stream
How it works
The version stream is stored in the jenkins-x/jx3-versions git repository and stores the stable version of all packages and charts used by JayeX.
When you run a jx command, such as jx gitops upgrade, it
will ensure you have a local clone of the jenkins-x/jx3-versions git
repository and then pull the stable version of any chart or package from that source.
The jx release now defaults to being released as a prerelease. Each release of jx is only updated to a full release so long as that released version successfully makes its way to the jx3-versions repository where it also needs to pass another round of BDD tests (see Continuous Integrating JX itself for more information).
Creating Pull Requests
Our command jx updatebot pr is used for automatically generating pull requests on the jenkins-x/jx3-versions git repository.
Periodic updates
It’s not always easy/possible to update upstream pipelines to push version changes to JayeX via a pull pequest. So we also have a periodic job to check for version upgrades for helm charts.
e.g. to upgrade the versions of all the JayeX maintained charts we essentially run the command:
jx updatebot pr -c .github/workflows/update-charts/updatebot.yaml
where updatebot.yaml contains:
apiVersion: updatebot.jenkins-x.io/v1alpha1
kind: UpdateConfig
spec:
rules:
- urls:
- https://github.com/jenkins-x/jx3-versions
changes:
- versionStream:
kind: charts
include:
- cdf/*
- jxgh/*
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.