-
Notifications
You must be signed in to change notification settings - Fork 199
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
Generate plugins lock file from list of plugins #488
Comments
You can pass
Just pipe it to a file? For the record, we're still using such To get the initial complete list of plugins including dependencies, we're using this script in the Jenkins controller script console, courtesy of @MarkEWaite:
|
Thanks for the reply/info :)
That's not the same as generating a complete list including transitive dependencies from a list of plugins, right?
But then you can't see progress/there's no feedback what's happening
That is exactly the output I'd like to generate, but I'd like to be able to do so directly from a list of plugins. It doesn't really make sense to have to run Jenkins first, then run a script inside Jenkins to do this. |
It isn't but it's also not why I specified this arg, I was responding to "but it outputs irrelevant stuff ("Installed plugins", "Bundled plugins", etc sections)"
You only have to run this script in Jenkins when you're adding new plugins (to get their dependencies), or periodically to check if existing plugins didn't integrated new dependencies since the last time you've run the script. (I have no idea if it's a frequent occurrence). I don't know if your feature request represents a huge coding effort or not (I think it could be a nice addition), but at least you've got here a workaround. Hope it can alleviate some of your issues. |
Hi there, I am a new contributor and I am interested in this issue. But I don't have any idea what is the purpose of the plugin's lock file. If you want to download the specific version, you can use the option If you want to get the available updates in a file, you can use the option mailer:1.32 If the above solution cannot satisfy your question. My understanding is you would like to create a file called |
In the context of plugins.txt, I think that the When the The |
What @MarkEWaite describes is indeed correct. The underlying reason being that you want your build to be deterministic/you want to be able to reproduce the same state at any point in time, so you can be sure that your Jenkins including all plugins is the same as the setup you validated. |
@simonvanderveldt Assuming I understood your requirement properly, you actually wanna redirect the stdout only onto a file, and that file becomes your lock file. I dunno why it's set up like that, but the stuff you called:
is actually in the stderr, with only the part of interest (i.e the plugins and their versions) neatly being in the stdout. So anyway what you wanna do is For reference I was using version |
What feature do you want to see added?
Like most tools that support installing packages with dependencies it would be nice if it would be possible to generate a list of all plugins, their (transitive) dependencies and have all their versions pinned. This to enable a reproducible build (in so far as that it would have the same versions of all components/plugins).
Until the removal of
install-plugins.sh
in the Jenkins Docker image we were using aplugins.txt
which contains a (unversioned) list of the plugins that we want to use and from that we generated aplugins.lock.txt
which contained all the plugins, including (transitive) dependencies, with their versions pinned. I've not been able to find a simple/direct way to do this withjenkins-plugin-cli
.gets me somewhat close, but it outputs irrelevant stuff ("Installed plugins", "Bundled plugins", etc sections).
Also it would be nice if one could pass a filename to write this list to so that the tool handles everything in one go. Plus that wayone can use
--verbose
at the same time as well.(#448 might be a related change, but the separation to stderr/stdout is based on a long running misunderstanding, stderr is for errors not for regular output).
Upstream changes
No response
The text was updated successfully, but these errors were encountered: