jenkinsci / jenkinsci/plugin-installation-manager-tool

Generate plugins lock file from list of plugins

Open
#488 11 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.