Jenkins的Dockerfile中如何批量迁移原Jenkins安装的插件
当我们将原有Jenkins转为docker镜像进行管理时,会碰到如何将原来的插件批量的安装到Jenkins镜像中, 我们可以通过两个步骤实现:
- 在原有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}
- 将上一步得到的结果复制到 plugins.txt 中,注意不要将 Result: [....] 此行加入到plugin.txt 中
-
- 将plugin.txt 和 Dockerfile 放到一个目录下
- 编写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
-