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

标签 jenkins docker containers jenkins-plugins jenkins-cli

根据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

之后,我使用浏览器执行以下操作:
  • 访问localhost:8080
  • 从jenkins Web控制台
  • 安装了一些插件
  • 运行了一些管道

  • 一切正常。

    后来我尝试通过CLI(而不是Web控制台)安装一些jenkins插件,如下所示
    $ docker exec -it jenkins_master /bin/bash
    $ install-plugins.sh hockeyapp
    

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

    docker exec CLI安装插件时,如何确保可从Web控制台获取插件?

    值得注意的是,我发现有2个不同的plugins文件夹。其中hockeyapp可用的一种。 hockeyapp不可用的一种。
    $ ls /usr/share/jenkins/ref/plugins/ # shows hockeyapp
    $ ls /var/jenkins_home/plugins/      # does not show hockeyapp
    

    最佳答案

    install-plugins.sh设计用于之前的安装插件。

    当容器从您提到的/usr/share/jenkins/ref/plugins/目录中启动时,将以这种方式安装的插件被选中

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

    关于jenkins - 通过CLI在docker容器内安装的jenkins插件未显示在jenkins Web控制台中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40014029/

    相关文章:

    java - 多模块maven项目: Failed to execute goal on project,无法解析项目的依赖关系,无法找到 Artifact

    jenkins - 使用声明式 Jenkinsfile 在多分支管道上运行夜间作业

    ruby - 使 ruby​​ 可用于 Debian9 镜像时出现问题

    android - 葫芦 android.util.AndroidException : INSTRUMENTATION_FAILED

    c++ - 使用标准模板库中的堆栈

    c++ - 推回 map 容器

    git - Jenkins GitHub 插件反向分支

    linux - 允许 Jenkins 访问当前登录用户文件夹的内容

    asp.net - 如何将 ASP.NET 后端连接到 Docker 容器内的 postgres 数据库

    windows - 如何在docker windows容器中运行GUI file.exe?