一尘不染

使用默认插件设置Docker Jenkins

jenkins

我想创建一个基于Jenkins的映像,并安装一些插件npm。为此,我有以下内容Dockerfile

FROM jenkins:2.60.3
RUN install-plugins.sh bitbucket
USER root
RUN apt-get update
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
RUN apt-get install -y nodejs
RUN npm --version
USER jenkins

效果很好,但是当我运行图像时,我遇到两个问题:

  • 似乎由于某些原因,我尝试手动安装的插件没有保留下来。
  • 系统提示我要安装的插件列表,但我不想安装其他任何插件。

我是否缺少配置Dockerfile的任何东西,还是我想实现的目标根本不可能?


阅读 345

收藏
2020-07-25

共1个答案

一尘不染

没有看到的内容install- plugins.sh,我无法评论为什么插件没有持久化。这很可能是由不正确的安装目标引起的。持久性在这个阶段不应该成为问题,因为插件安装内置在映像本身中。

对于后一个问题,通过将行添加ENV JAVA_OPTS=-Djenkins.install.runSetupWizard=false到Dockerfile中,您应该能够完全跳过安装向导。请注意,如果Jenkins图像暴露在世界范围内,这可能会带来安全风险,因为此选项会禁止身份验证

编辑:Docker图像的默认插件目录是 /var/jenkins_home/plugins

编辑2:根据Jenkins Docker存储库上的自述文件,添加该行RUN echo 2.0 > /usr/share/jenkins/ref/jenkins.install.UpgradeWizard.state应完成相同的操作

2020-07-25