Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-63432

v2.36 tries to install on incompatible Jenkins

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      During Jenkins upgrade to the latest LTS Jenkins last night (v2.235.5), v2.36 attempted and failed to install since it requires Jenkins >= v2.248. Many dependency plugins also failed and Jenkins was unusable.

      I don't know enough about the plugin dependency system. Does it check Jenkins version compatibility as well as inter-plugin? If so, this is broken in workflow-durable-task-step v2.36

        Attachments

          Activity

          Hide
          markewaite Mark Waite added a comment -

          The install-plugins.sh script does not include the necessary logic to handle the case you're describing. When using install-plugins.sh, if latest release of a plugin won't work for your case, a version number (like 2.35) must be specified.

          The recent builds of the Docker images now include plugin-installation-manager-tool. That tool is designed to handle the case you're describing. Switch your image build process to use plugin-installation-manager-tool and it should handle your case.

          The install-plugins.sh script will soon include a deprecation warning that reminds users they should use plugin installation manager instead.

          Show
          markewaite Mark Waite added a comment - The install-plugins.sh script does not include the necessary logic to handle the case you're describing. When using install-plugins.sh, if latest release of a plugin won't work for your case, a version number (like 2.35) must be specified. The recent builds of the Docker images now include plugin-installation-manager-tool . That tool is designed to handle the case you're describing. Switch your image build process to use plugin-installation-manager-tool and it should handle your case. The install-plugins.sh script will soon include a deprecation warning that reminds users they should use plugin installation manager instead.
          Hide
          benjaminobst Benjamin Obst added a comment -

          LTS is important for usage in corporate environment. I don't want to fix some Plugins to a specified version. That is a workaround. How many plugins will stop working for LTS? How about a second logic link like "latest"? How about "lts" and that links to last compatible with actual LTS jenkins? Everybody in need of LTS will switch to that channel and can update to best versions possible in LTS.

          Show
          benjaminobst Benjamin Obst added a comment - LTS is important for usage in corporate environment. I don't want to fix some Plugins to a specified version. That is a workaround. How many plugins will stop working for LTS? How about a second logic link like "latest"? How about "lts" and that links to last compatible with actual LTS jenkins? Everybody in need of LTS will switch to that channel and can update to best versions possible in LTS.
          Hide
          markewaite Mark Waite added a comment -

          Benjamin Obst did you try the solution that I described?

          The recent builds of the Docker images now include plugin-installation-manager-tool. That tool is designed to handle the case you're describing. Switch your image build process to use plugin-installation-manager-tool and it should handle your case.

          It seems to me that if you'll need to switch your Docker image to use this new concept of a channel, why not switch your Docker image to use the new tool that solves the problem without needing anything more than the new tool.

          If the new tool does not solve the problem, that is good to know as well.

          See the Docker image documentation for more details on plugin installation manager tool.

          Show
          markewaite Mark Waite added a comment - Benjamin Obst did you try the solution that I described? The recent builds of the Docker images now include plugin-installation-manager-tool . That tool is designed to handle the case you're describing. Switch your image build process to use plugin-installation-manager-tool and it should handle your case. It seems to me that if you'll need to switch your Docker image to use this new concept of a channel, why not switch your Docker image to use the new tool that solves the problem without needing anything more than the new tool. If the new tool does not solve the problem, that is good to know as well. See the Docker image documentation for more details on plugin installation manager tool.
          Hide
          benjaminobst Benjamin Obst added a comment -

          We are not using the offical Docker image, we are creating our own due to corporate requirements. The plugin-installation-manager-tool is currently in beta status. If it will be part of the LTS .war version we will test it. Until then, we will stay with our own tested solution.

          This ticket might be closed, as LTS was lifted to 2.249.1 and therefor compatibility is reinstated. Can someone second that?

          What remains is a unfortunate upgrade policy between Jenkins Core LTS version and "latest" stable version of plugins. If the workflow-durable-task-step-plugin would have been released right after LTS was lifted to 2.249 then there wouldn't have been a problem at all.

          Show
          benjaminobst Benjamin Obst added a comment - We are not using the offical Docker image, we are creating our own due to corporate requirements. The plugin-installation-manager-tool is currently in beta status. If it will be part of the LTS .war version we will test it. Until then, we will stay with our own tested solution. This ticket might be closed, as LTS was lifted to 2.249.1 and therefor compatibility is reinstated. Can someone second that? What remains is a unfortunate upgrade policy between Jenkins Core LTS version and "latest" stable version of plugins. If the workflow-durable-task-step-plugin would have been released right after LTS was lifted to 2.249 then there wouldn't have been a problem at all.
          Hide
          markewaite Mark Waite added a comment -

          I am happy to confirm that Jenkins 2.249.1 runs the Pipeline: Nodes and Processes plugin 2.36.

          As far as I can tell, Jenkins doesn't really have a concept of "latest stable version of plugins". It has a concept of "latest released version of plugins" (as in Pipeline: Nodes and Processes 2.36) and it has a concept of plugins that are compatible with the running Jenkins version (as in Jenkins 2.235.5 and Pipeline: Nodes and Processes 2.35). The install-plugins.sh script understands "latest released version of plugins" but does not understand "compatible with the running Jenkins version". Plugin installation manager CLI understands "compatible with the running Jenkins version".

          Show
          markewaite Mark Waite added a comment - I am happy to confirm that Jenkins 2.249.1 runs the Pipeline: Nodes and Processes plugin 2.36. As far as I can tell, Jenkins doesn't really have a concept of "latest stable version of plugins". It has a concept of "latest released version of plugins" (as in Pipeline: Nodes and Processes 2.36) and it has a concept of plugins that are compatible with the running Jenkins version (as in Jenkins 2.235.5 and Pipeline: Nodes and Processes 2.35). The install-plugins.sh script understands "latest released version of plugins" but does not understand "compatible with the running Jenkins version". Plugin installation manager CLI understands "compatible with the running Jenkins version".

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            brendanh Brendan Holmes
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Dates

              Created:
              Updated: