-
Notifications
You must be signed in to change notification settings - Fork 568
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
plugin resources don't install dependency's #677
Comments
That is expected behavior. This class installs plugin by downloading them and putting them manually to Jenkins |
Thanks, I didn't realise that was the intended behaviour. Is the Groovy script included with Jenkins? |
Can we implement a feature in this module to add a |
The update center does not provide recursive dependency information for anything but the latest release of a plugin. This means that in order to support installing a specifc plugin version we have to handle this "outside" of jenkins. We need to implement a constraint resolver that parses plugin metadata in order to support recursive resolution. @rtyler has made a good start on a gem to provide this functionality: https://github.com/rtyler/jpm If folks are interested in seeing recursive dependency resolution in this module, the fastest route would be contribute to that gem. Another path would be to get similar functionality implemented in the core and/or to rework how the update center handles metadata. |
Hi. Sorry if this is not the correct why to ask something on an opening thread. But this is my case, I want to download Jenkins plugins from a local GIT repository, were I used this plugin (rtyler/jenkins), so I upload all the needed plugins to a folder on the GIT repository. Then I try to install them, create_resources(jenkins::plugin,hiera('jenkins-plugin')) on a puppet manifests, On a hiera yaml file But I get the error, Executing 'curl -s -S -k -L -o /app/Jenkins_puppet//plugins/build-env-propagator.hpi 'puppet:///modules/jenkins_instance/plugins_jenkins/build-env-propagator.hpi''�[0m Anyway, any idea how I can download plugins from a local GIT repository ? Thanks in advanced. |
@mativillagra |
@jhoblitt Thanks for the feedback. Actually I end up with a custom fix, just created a temp folder inside $JENKINS_HOME/plugins/temp put all the needed plugins there and then just copy over $JENKINS_HOME/plugins/ with an exec (puppet). Let me ask if the solution you proposed is not intend to collapse with manifests/plugin.pp line 91 You already have a file resource like this file { "${::jenkins::plugin_dir}/${plugin}" : this end up being $JENKINS_HOME/plugins/ It will be nice that jenkins::plugin::source include others ways other than URL type. Say for example or others way, not always machines have the possibility of internet connection. name: build-env-propagator Thanks!!! |
Because the Jenkins update center only provides dependency information for the current version of plugins, the plugin puppet directive cannot due dependency resolution. This means that my changes do nothing, it's also why pipeline-step-api was listed already and still not installed correctly. For now we'll just need to update docs to let people know that this is expected behavior. There is a project that may someday be able to resolve this for us: https://github.com/rtyler/jpm The issue tracking the jenkins-puppet dependency problem is voxpupuli/puppet-jenkins#677
I was able to get rtyler/jpm working enough to download plugins with my install of CJE. I have a fork at https://github.com/mmarseglia/jpm |
I've just applied quite a simple manifest and realised that the plugins don't install dependency's.
Then when i login to the installed jenkins instance I see the following error in Manage Jenkins:
I've also noticed that the package list isn't populated.
The text was updated successfully, but these errors were encountered: