Jenkins的Dockerfile中如何批量迁移原Jenkins安装的插件

当我们将原有Jenkins转为docker镜像进行管理时,会碰到如何将原来的插件批量的安装到Jenkins镜像中, 我们可以通过两个步骤实现:

  1. 在原有jenkins上的获取所有插件
    • 在jenkins 的 script 页面(如: http://localhost/script)执行脚本
    • def plugins = []
      Jenkins.instance.pluginManager.plugins.each{
        plugin -> 
          plugins.add("${plugin.getShortName()}:${plugin.getVersion()}")
      }
      plugins.sort().each{println it}
  2. 将上一步得到的结果复制到 plugins.txt 中,注意不要将 Result: [....] 此行加入到plugin.txt 中
    •  

       

  3. 将plugin.txt 和 Dockerfile 放到一个目录下
  4. 编写Dockerfile
    • FROM jenkinsci/blueocean
      
      USER root
      
      RUN apk add  wget jq unzip maven
      
      # 安装插件
      COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
      RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt

       

              
posted @ 2020-10-26 17:08  ZackZhou  阅读(314)  评论(0编辑  收藏  举报