plugin-installation-manager-tool
plugin-installation-manager-tool copied to clipboard
List of available plugins is different between GUI and script
Version report
Jenkins and plugins versions report:
Jenkins: 2.289.2
OS: Linux - 3.10.0-1160.15.2.el7.x86_64
---
jaxb:2.3.0
ace-editor:1.1
ant:1.11
antisamy-markup-formatter:2.1
apache-httpcomponents-client-4-api:4.5.13-1.0
authentication-tokens:1.4
bootstrap4-api:4.6.0-3
bootstrap5-api:5.0.2-1
bouncycastle-api:2.21
branch-api:2.6.5
build-timeout:1.20
caffeine-api:2.9.1-23.v51c4e2c879c8
checks-api:1.7.2
cloudbees-folder:6.15
command-launcher:1.6
credentials-binding:1.27
credentials:2.5
display-url-api:2.3.5
docker-commons:1.17
docker-workflow:1.26
durable-task:1.38
echarts-api:5.1.2-3
email-ext:2.83
font-awesome-api:5.15.3-4
git-client:3.8.0
git-server:1.10
git:4.8.0
github-api:1.123
github-branch-source:2.11.1
github:1.33.1
gradle:1.37.1
handlebars:3.0.8
jackson2-api:2.12.4
jdk-tool:1.5
jjwt-api:0.11.2-9.c8b45b8bb173
jquery3-api:3.6.0-2
jsch:0.1.55.2
junit:1.51
ldap:2.7
lockable-resources:2.11
mailer:1.34
matrix-auth:2.6.8
matrix-project:1.19
momentjs:1.1.1
okhttp-api:3.14.9
pam-auth:1.6
pipeline-build-step:2.14
pipeline-github-lib:1.0
pipeline-graph-analysis:1.11
pipeline-input-step:2.12
pipeline-milestone-step:1.3.2
pipeline-model-api:1.8.5
pipeline-model-definition:1.8.5
pipeline-model-extensions:1.8.5
pipeline-rest-api:2.19
pipeline-stage-step:2.5
pipeline-stage-tags-metadata:1.8.5
pipeline-stage-view:2.19
pipeline-utility-steps:2.8.0
plain-credentials:1.7
plugin-util-api:2.4.0
popper-api:1.16.1-2
popper2-api:2.5.4-3
resource-disposer:0.16
scm-api:2.6.4
script-security:1.77
snakeyaml-api:1.29.1
ssh-credentials:1.19
ssh-slaves:1.32.0
sshd:3.1.0
structs:1.23
timestamper:1.13
token-macro:2.15
trilead-api:1.0.13
workflow-aggregator:2.6
workflow-api:2.46
workflow-basic-steps:2.23
workflow-cps-global-lib:2.21
workflow-cps:2.93
workflow-durable-task-step:2.39
workflow-job:2.41
workflow-multibranch:2.26
workflow-scm-step:2.13
workflow-step-api:2.24
workflow-support:3.8
ws-cleanup:0.39
- What Operating System are you using (both controller, and any agents involved in the problem)?
See docker file below
Reproduction steps
- Buiild with Dockerfile
- Open JENKINS_URL/pluginManager and see:
- Validate JENKINS_URL/pluginManager/advanced, the only filled value is Update Site=https://updates.jenkins.io/update-center.json.
- Run:
jenkins-plugin-cli --available-updates
Results
Expected result:
Get a list of available updates like in GUI
Actual result:
No available updates
Available updates is based off of an input plugins file and not based off of what is installed, it assumes you’re managing all plugins in that file
Available updates is based off of an input plugins file and not based off of what is installed, it assumes you’re managing all plugins in that file
Hi,
So I don't understand, how can (if any) I update all plugins to latest versions by this tool?
Thanks
This is the normal work flow: https://github.com/jenkinsci/docker#updating-plugins-file-preview
This is the normal work flow: https://github.com/jenkinsci/docker#updating-plugins-file-preview
Hi,
Unfortunately, I create docker image for offline so it won't help me, at least as is :-( I will check if I can use the bash command in dockerfile.
Thanks
This is the normal work flow: https://github.com/jenkinsci/docker#updating-plugins-file-preview
Hi,
I checked and /usr/share/jenkins/ref/plugins.txt isn't existed at all, the documentation is wrong :-(... Moreover I used:
jenkins-plugin-cli --plugins
ls /var/jenkins_home/plugins/*.jpi | xargs -I{} basename {} .jpi --available-updates
And still got "No available updates". Actually, I want to force upgrades of plugins that have been manually upgraded during the build, but the instructions in the link refer to case that I run the container, not build the image.
Thanks
Regardless of what's used for updating, this should be resolved. If another user installs a plugin via the UI, it won't be reflected in the cli, which affects using the cli to manage the instance via Infrastructure as Code or orchestration.
If you're managing it via infra as code why is someone installing plugins via the UI?
It also doesn't list plugins that are installed as dependencies of plugins that ARE installed via the CLI. For example "oic-auth" seems to install "JDK Tool Plugin" and "Oracle Java SE Development Kit Installer". The point is, its not in sync and makes it difficult to find dependencies. Installing a plugin via the cli that doesn't report its dependencies makes taking a diff impossible.
We finally found workaround (that I forgot to document here..)