jenkinsci / jenkinsci/plugin-installation-manager-tool
Generate plugins lock file from list of plugins
- Dominant language
- Java
- Stars
- 463
- Forks
- 228
- Avg merge
- 31m
- Merged PRs (30d)
- 15
Description
### 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 a `plugins.txt` which contains a (unversioned) list of the plugins that we want to use and from that we generated a `plugins.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 with `jenkins-plugin-cli`.
```
$ jenkins-plugin-cli -f plugins.txt --list --output txt
```
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.
(https://github.com/jenkinsci/plugin-installation-manager-tool/pull/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_
Contributor guide
Assessment
This issue has not been assessed yet.