如何将插件添加到docker jenkins?

Joe*_*Doe 3 plugins jenkins docker

在执行此操作时,我想使用dockerfile配置要安装的插件,然后将其构建为单独的jenkins + plugin映像。我该怎么做?

谢谢!

Tar*_*ani 5

插件有两件事,一是预安装的插件,一是在jenkins启动后存储已安装的插件。因此,对于预安装的插件,您可以将撰写内容更改为以下内容

docker-compose.yml

version: '2'

services:
  jenkins:
    build:
      context: .
    container_name: jenkins
    restart: always
    ports:
      - 80:8080
    volumes:
      - ./jenkins_home:/var/jenkins_home
Run Code Online (Sandbox Code Playgroud)

.dockerignore

jenkins_home
Run Code Online (Sandbox Code Playgroud)

Docker文件

FROM jenkins/jenkins:lts
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt
Run Code Online (Sandbox Code Playgroud)

plugins.txt

cucumber-testresult-plugin:0.8.2
pam-auth:1.1
matrix-project:1.4.1
script-security:1.13
Run Code Online (Sandbox Code Playgroud)

现在,保持jenkins_home卷挂载状态,将确保您所有的詹金更改都被保留。保留plugins.txt可以确保您的容器以预安装的插件开头。并且卷挂载将保留任何共享插件。文档中的关键点

当jenkins容器启动时,它将检查JENKINS_HOME是否具有此参考内容,并在需要时将其复制到那里。它不会覆盖此类文件,因此,如果您从UI升级了某些插件,则下次启动时将不会还原它们。

如果您需要其他最新信息,请参考以下链接

https://github.com/jenkinsci/docker/blob/master/README.md