通过 CLI 在 docker 容器中安装的 jenkins 插件未显示在 jenkins web 控制台中

jenkins plugins installed via CLI inside docker container is not showing up in jenkins web console

根据 official JenkinsCI for Docker 存储库中的 README.md 文件,我在 docker 容器中启动了一个 jenkins master,其命名卷如下

$ docker run -d \
--publish 8080:8080 \
--volume jenkins_home:/var/jenkins_home \
--name jenkins_master \
jenkins

之后,我使用浏览器进行了:

一切正常。


后来我尝试通过 CLI(而不是 Web 控制台)安装一些 jenkins 插件,如下所示

$ docker exec -it jenkins_master /bin/bash
$ install-plugins.sh hockeyapp

这表明一切都安装正确。但是,当我通过浏览器访问 localhost:8080 时,我看到 hockeyapp 插件没有安装。

当我从 docker exec CLI 安装插件时,如何确保插件在 Web 控制台可用?


值得注意的是,我发现有 2 个不同的插件文件夹。 hockeyapp 可用的一个。其中 hockeyapp 不可用。

$ ls /usr/share/jenkins/ref/plugins/ # shows hockeyapp
$ ls /var/jenkins_home/plugins/      # does not show hockeyapp

install-plugins.sh 专为 pre 安装插件而设计。

您以这种方式安装的插件将在容器启动时从您提到的/usr/share/jenkins/ref/plugins/目录中获取。

再次尝试重新启动(或停止然后启动)容器。之后您应该会看到新安装的插件正确显示在 Web 控制台中。