我有以下以jenkins为基础镜像的Dockerfile:
FROM jenkins
USER root
ENV JENKINS_MIRROR http://mirrors.jenkins-ci.org
RUN for plugin in git-client git ws-cleanup ; do wget -O $JENKINS_HOME/plugins/${plugin}.hpi $JENKINS_MIRROR/plugins/${plugin}/latest/${plugin}.hpi ; done
EXPOSE 8080我正在尝试安装一些额外的插件,但它给我一个错误,显示为no such file or directory

然后,我启动并连接到这个构建步骤的容器,以便“调试”错误:

但是,我找不到原因,因为似乎每个目录都存在。此外,如果我随后在bash中手动运行for-loop,则所有插件都安装正确……
我进一步注意到,如果我将插件安装在根目录中,如下所示,插件的安装可以正常工作:
RUN for plugin in git-client git ws-cleanup ; do wget -O ${plugin}.hpi $JENKINS_MIRROR/plugins/${plugin}/latest/${plugin}.hpi ; done但是,这是错误的位置,因为它们必须放在$JENKINS_HOME/plugins目录中
为什么我无法在$JENKINS_HOME/plugins中安装插件
发布于 2015-03-29 19:25:19
我看不懂你的截图,但你似乎没有按照官方的指示去做。请参阅“安装更多工具”下的https://github.com/cloudbees/jenkins-ci.org-docker。注意:
您应该将插件保存到/usr/share/jenkins/ref/plugins
plugins.sh脚本进行处理。这看起来像:COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/plugins.txt我认为您的方法不起作用的原因是在启动脚本中进行了一些处理。
https://stackoverflow.com/questions/29328278
复制相似问题