在 Docker 插件中构建 Jenkins 时安装失败

rai*_*inz 10 jenkins jenkins-plugins docker

我有一个自定义 Jenkins 主控的 Dockerfile,如下所示:

FROM jenkins
MAINTAINER me

USER root

RUN echo 2.0 > /usr/share/jenkins/ref/jenkins.install.UpgradeWizard.state

RUN apt-get update \
      && apt-get install -y sudo \
      && apt-get install -y vim \
      && rm -rf /var/lib/apt/lists/*
RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers

USER jenkins

# COPY plugins.txt /usr/share/jenkins/plugins.txt
# RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt
ENV JAVA_OPTS="-Xmx8192m"
ENV JENKINS_OPTS="--handlerCountStartup=100 --handlerCountMax=300"


RUN /usr/local/bin/install-plugins.sh git:2.6.0
Run Code Online (Sandbox Code Playgroud)

一切正常,直到上RUN /usr/local/bin/install-plugins.sh git:2.6.0线。安装插件时出现错误:

Creating initial locks...

Analyzing war...

Downloading plugins...
Downloading plugin: git from https://updates.jenkins.io/download/plugins/git/2.6.0/git.hpi
Downloading plugin: git-plugin from https://updates.jenkins.io/download/plugins/git-plugin/2.6.0/git-plugin.hpi
Failed to download plugin: git or git-plugin

WAR bundled plugins:


Installed plugins:
*:

Some plugins failed to download!
Not downloaded: git
The command '/bin/sh -c /usr/local/bin/install-plugins.sh git:2.6.0' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)

我做错了什么还是 Jenkins/Docker 有问题?

小智 22

对于那些从 dockerHub 拉取 jenkins 镜像的人,不要拉:

docker pull jenkins
Run Code Online (Sandbox Code Playgroud)

或者

docker pull jenkinsci/jenkins
Run Code Online (Sandbox Code Playgroud)

而是使用以下方法拉取最新版本:

docker pull jenkins/jenkins 

这是最新的https://jenkins.io/blog/2018/12/10/the-official-Docker-image/


Elt*_*man 2

你的 Dockerfile 对我有用,安装了所有插件并成功构建了镜像:

Analyzing war... 
Downloading plugins...
Downloading plugin: git from https://updates.jenkins.io/download/plugins/git/2.6.0/git.hpi
 > git depends on workflow-scm-step:1.14.2,mailer:1.17,matrix-project:1.7.1,ssh-credentials:1.12,parameterized-trigger:2.4;resolution:=optional,scm-api:1.2,token-macro:1.11;resolution:=optional,promoted-builds:2.27;resolution:=optional,credentials:2.1.4,git-client:1.21.0

Downloading plugin: workflow-scm-step from https://updates.jenkins.io/download/plugins/workflow-scm-step/latest/workflow-scm-step.hpi
...
Removing intermediate container 4f895c203944
Successfully built 31d58d1f586f  
Run Code Online (Sandbox Code Playgroud)

尝试docker build --no-cache以防图像缓存中的某一层出现问题,或者在 Docker Hub 上设置自动构建并在 Docker 的服务器上构建它。