Cloud Native Jenkins

Lets make Jenkins cloud native

Jenkins X helps to support cloud native Jenkins via:

  • orchestrating either serverless Jenkins using prow or a Static Jenkins masters per team. This lets teams move towards serverless while bring along static masters too.
  • each team can install its own Jenkins X in its own namespace (via jx install --namespace myteam)
  • support for different workloads per team (see jx edit buildpack).

Different workloads

Some teams develop cloud native applications on kubernetes and so should use the kubernetes workloads option.

For teams that do not deploy applications to kubernetes - such as delivering libraries or binaries - there’s a new library workloads option which has CI and automated releases but no CD.

When you create a cluster or install Jenkins X you are prompted to pick between the available build packs.

? Pick workload build pack:   [Use arrows to move, type to filter]
> Kubernetes Workloads: Automated CI+CD with GitOps Promotion
  Library Workloads: CI+Release but no CD

You can change this configuration at any time via jx edit buildpack.

By default just hit enter to stick to the kubernetes workloads option. Though if you have a significant number of libraries you wish to manage you could setup a separate team for this and import your various library projects there.

Current workloads

We store our build packs in jenkins-x-buildpacks organization at GitHub. Currently we support:

  • the jenkins-x-classic build pack supports CI+Releases but does not include CD. e.g. do CI and release of your Java libraries or Node modules but don’t deploy to Kubernetes
  • the jenkins-x-kubernetes build pack supports automated CI+CD with GitOps promotion and Preview Environments for kubernetes workloads

However you should be able to extend either of these build packs to add alternative platforms and capabilities.

Writing your own build pack

We want you to extend Jenkins X so please check out the documentation on creating your own build packs

Last modified March 25, 2020: release 0.0.1608 (f2b4de0)