Customize Jenkins with Plugins

This document shows how to customize Jenkins with plugins.

Installing additional plugins

Due to possible plugin dependency issues, installing additional plugins can be a risky operation. With Carthago, you can test plugin configuration on a non-production Jenkins Controller.

To install additional plugins, you need to add them to the list of plugins under Jenkins Custom Resource’s spec.plugins section like so:

kind: Jenkins
  name: example
    - name: "name-of-the-plugin"
      version: "3.14"

After applying modifications to Jenkins Custom Resource spec.plugins, Operator will automatically install plugins after Jenkins Controller pod restarts.

For extra caution, monitor your Jenkins Controller pod logs while installing plugins to discover any problems with plugins. You can see how to do this in Troubleshooting section.

Bumping versions of plugins installed by Operator

By default, Operator installs the following plugins:

  • configuration-as-code
  • git
  • job-dsl
  • kubernetes-credentials-provider
  • kubernetes-client-api
  • kubernetes
  • workflow-aggregator
  • workflow-job

If you need to install one or more of these plugins in specific versions, simply specify them under Jenkins Custom Resource’s spec.plugins section like you would with additional plugins.

Note on caching plugins

Operator caches downloaded plugins by itself, so that on subsequent installations of the same plugin versions (for example, after a Jenkins restart) Operator doesn’t have to download them again and can instead use versions from cache.

Plugin cache is unavailable in the free plan, and requires a valid license.