Unable to install Jenkins from Helm chart

Viewed 1196

I'm attempting to install Jenkins from a Helm chart for the first time.

I run

helm repo add jenkins https://charts.jenkins.io
helm repo update
helm upgrade --install myjenkins jenkins/jenkins

But the service never starts. The pod logs show the following errors:

Plugin git:4.10.0 (via credentials:1055.v1346ba467ba1) depends on configuration-as-code:1.55, but there is an older version defined on the top level - configuration-as-code:1.54
        at io.jenkins.tools.pluginmanager.impl.PluginManager.start(PluginManager.java:222)
        at io.jenkins.tools.pluginmanager.impl.PluginManager.start(PluginManager.java:171)
        at io.jenkins.tools.pluginmanager.cli.Main.main(Main.java:70)
        Suppressed: io.jenkins.tools.pluginmanager.impl.PluginDependencyException: Plugin kubernetes:1.30.11 (via credentials:1055.v1346ba467ba1) depends on configuration-as-code:1.55, but there is an older version defined on the top level - configuration-as-code:1.54
                at io.jenkins.tools.pluginmanager.impl.PluginManager.resolveRecursiveDependencies(PluginManager.java:1074)
                at io.jenkins.tools.pluginmanager.impl.PluginManager.findPluginsAndDependencies(PluginManager.java:649)
                at io.jenkins.tools.pluginmanager.impl.PluginManager.start(PluginManager.java:214)
                ... 2 more
        Suppressed: io.jenkins.tools.pluginmanager.impl.PluginDependencyException: Plugin workflow-aggregator:2.6 (via credentials:1055.v1346ba467ba1) depends on configuration-as-code:1.55, but there is an older version defined on the top level - configuration-as-code:1.54
                at io.jenkins.tools.pluginmanager.impl.PluginManager.resolveRecursiveDependencies(PluginManager.java:1074)
                at io.jenkins.tools.pluginmanager.impl.PluginManager.findPluginsAndDependencies(PluginManager.java:649)
                at io.jenkins.tools.pluginmanager.impl.PluginManager.start(PluginManager.java:214)
                ... 2 more
        Suppressed: io.jenkins.tools.pluginmanager.impl.PluginDependencyException: Plugin git:4.10.0 (via credentials:1055.v1346ba467ba1) depends on configuration-as-code:1.55, but there is an older version defined on the top level - configuration-as-code:1.54
                at io.jenkins.tools.pluginmanager.impl.PluginManager.resolveRecursiveDependencies(PluginManager.java:1074)
                at io.jenkins.tools.pluginmanager.impl.PluginManager.findPluginsAndDependencies(PluginManager.java:649)
                at io.jenkins.tools.pluginmanager.impl.PluginManager.start(PluginManager.java:214)
                ... 2 more
Multiple plugin prerequisites not met:
Plugin kubernetes:1.30.11 (via credentials:1055.v1346ba467ba1) depends on configuration-as-code:1.55, but there is an older version defined on the top level - configuration-as-code:1.54,
Plugin workflow-aggregator:2.6 (via credentials:1055.v1346ba467ba1) depends on configuration-as-code:1.55, but there is an older version defined on the top level - configuration-as-code:1.54,
Plugin git:4.10.0 (via credentials:1055.v1346ba467ba1) depends on configuration-as-code:1.55, but there is an older version defined on the top level - configuration-as-code:1.54

How can I fix this?

4 Answers

The solution appears to be to force the Helm chart to install updated plugins. The following values.yaml file allowed me to complete the deployment:

controller:
    installPlugins:
    - configuration-as-code:1.55
    - kubernetes:1.31.1 
    - workflow-aggregator:2.6 
    - git:4.10.1 

This - configuration-as-code:1.55 in values.yml fix the problem.

There are three options to fix this issue:

  1. Remove top level plugins that are dependencies of other plugins you use ("git" and "configuration-as-code" are most likely offenders). However, sometimes plugins could have conflicting dependency versions and then this would not work.

  2. Jenkins' plugins.txt file supports :latest as a version.

So your configuration could look like this:

controller:
  installPlugins:
    - configuration-as-code:latest
    - kubernetes:latest
    - workflow-aggregator:latest
    - git:latest
  1. set controller.installLatestPlugins to false. This will set to download minimal required version of plugins. So, if you're not using :latest specifier yourself then it should work. However, you'll be stuck with the old versions of the plugins.

You can upgrade to the version suggested in the message (after depends on...)

Plugin kubernetes:1.30.11 (via credentials:1055.v1346ba467ba1) depends on configuration-as-code:1.55, but there is an older version defined on the top level - configuration-as-code:1.54,
Plugin workflow-aggregator:2.6 (via credentials:1055.v1346ba467ba1) depends on configuration-as-code:1.55, but there is an older version defined on the top level - configuration-as-code:1.54,
Plugin git:4.10.0 (via credentials:1055.v1346ba467ba1) depends on configuration-as-code:1.55, but there is an older version defined on the top level - configuration-as-code:1.54
Related